×

Date & Time در SQLite

فصل سی و نهم :

Date & Time در SQLite

SQLite از 5 تابع تاریخ و زمان ذیل پشتیبانی میکند :

مثال function
تاریخ را به فرمت : YYYY-MM-DD باز میگرداند date(timestring, modifiers...)
زمان را به فرمت : HH:MM:SS باز میگرداند time(timestring, modifiers...)
تاریخ و زمان را به فرمت کامل: YYYY-MM-DD HH:MM:SS باز میگرداند datetime(timestring, modifiers...)
تعداد روزهای طی شده بعد از ظهر24 نوامبر 4714 قبل از میلاد را باز میگرداند در گرینویچ لندن julianday(timestring, modifiers...)
تاریخ فرمت شده ایی را با توجه به الگوی مشخصی باز میگرداند که در پارامتر اول انرا مشخص میکنیم strftime(timestring, modifiers...)

در جدول ذیل time string ها به همراه مثال درج شده اند :

S.N. Time String Example
1 YYYY-MM-DD 2010-12-30
2 YYYY-MM-DD HH:MM 2010-12-30 12:10
3 YYYY-MM-DD HH:MM:SS.SSS 2010-12-30 12:10:04.100
4 MM-DD-YYYY HH:MM 30-12-2010 12:10
5 HH:MM 12:10
6 YYYY-MM-DDTHH:MM 2010-12-30 12:10
7 HH:MM:SS 12:10:01
8 YYYYMMDD HHMMSS 20101230 121001
9 now 2013-05-07

حالا Modifier ها که پارامتر دوم 5 تابع ما بودند :
• NNN days
• NNN hours
• NNN minutes
• NNN.NNNN seconds
• NNN months
• NNN years
• start of month
• start of year
• start of day
• weekday N
• unixepoch
• localtime
• utc


Formatters

SQLite تابع بسیار مفیدی را فراهم میکند بنام : strftime() که برای فرمت کردن انواع تاریخ و زمان کاربرد دارد.که از الگو های ذیل برای فرمت تاریخ و زمان استفاده میکند.

Substitution Description
%d Day of month, 01-31
%f Fractional seconds, SS.SSS
%H Hour, 00-23
%j Day of year, 001-366
%J Julian day number, DDDD.DDDD
%m Month, 00-12
%M Minute, 00-59
%s Seconds since 1970-01-01
%S Seconds, 00-59
%w Day of week, 0-6 (0 is Sunday)
%W Week of year, 01-53
%Y Year, YYYY
%% % symbol

مثال :
sqlite> SELECT date('now');
2013-05-07

مشاهده تاریخ کنونی سیستم
sqlite> SELECT date('now','start of month','+1 month','-1 day');
2013-05-31

محاسبه اخرین روز از ماه جاری
sqlite> SELECT datetime(1092941466, 'unixepoch');
2004-08-19 18:51:06

sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime');
2004-08-19 13:51:06

sqlite> SELECT strftime('%s','now');
1393348134

sqlite> SELECT julianday('now') - julianday('1776-07-04');
86798.7094695023

sqlite> SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56');
295001572


مفاهیم و موضوعات این فصل عبارتند از :

  • Date & Time در SQLite

vatantop
نظرات و سوالات درج سوال/ نظر