SQLite 클래식 튜토리얼login
SQLite 클래식 튜토리얼
작가:php.cn  업데이트 시간:2022-04-13 17:05:02

SQLite 날짜 및 시간


SQLite는 다음 5가지 날짜 및 시간 함수를 지원합니다.

序号函数实例
1date(timestring, modifier, modifier, ...)以 YYYY-MM-DD 格式返回日期。
2time(timestring, modifier, modifier, ...)以 HH:MM:SS 格式返回时间。
3datetime(timestring, modifier, modifier, ...)以 YYYY-MM-DD HH:MM:SS 格式返回。
4julianday(timestring, modifier, modifier, ...)这将返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数。
5strftime(format, timestring, modifier, modifier, ...)这将根据第一个参数指定的格式字符串返回格式化的日期。具体格式见下边讲解。

위 5가지 날짜 및 시간 함수는 시간 문자열을 매개변수로 사용합니다. 시간 문자열 뒤에 0개 이상의 수정자 수정자가 옵니다. strftime() 함수는 형식 문자열 형식을 첫 번째 인수로 사용할 수도 있습니다. 다양한 유형의 시간 문자열과 수정자에 대해 아래에서 자세히 설명합니다.

시간 문자열

시간 문자열은 다음 형식 중 하나일 수 있습니다.

序号时间字符串实例
1YYYY-MM-DD2010-12-30
2YYYY-MM-DD HH:MM2010-12-30 12:10
3YYYY-MM-DD HH:MM:SS.SSS2010-12-30 12:10:04.100
4MM-DD-YYYY HH:MM30-12-2010 12:10
5HH:MM12:10
6YYYY-MM-DDTHH:MM2010-12-30 12:10
7HH:MM:SS12:10:01
8YYYYMMDD HHMMSS20101230 121001
9now2013-05-07

날짜와 시간을 구분하는 문자 그대로 "T"를 사용할 수 있습니다.

수정자

시간 문자열 뒤에는 0개 이상의 수정자가 올 수 있으며, 이는 위의 5개 함수에서 반환된 날짜 및/또는 시간을 변경합니다. 위의 다섯 가지 함수 중 하나는 시간을 반환합니다. 수식어는 왼쪽에서 오른쪽으로 사용해야 하며 SQLite에서 사용할 수 있는 수식어는 아래와 같습니다.

  • NNN days

  • NNN hour

  • NNN분

  • NNN.NNNN초

  • NNN개월

  • NNN년

  • 월초

  • 연초

  • 하루 시작

  • 평일 N

  • 유닉스 시대

  • 현지 시간

  • utc

형식

SQLite는 날짜와 시간 형식을 지정하는 매우 편리한 strftime() 기능을 제공합니다. 다음 대체 항목을 사용하여 날짜와 시간의 형식을 지정할 수 있습니다.

替换描述
%d一月中的第几天,01-31
%f带小数部分的秒,SS.SSS
%H小时,00-23
%j一年中的第几天,001-366
%J儒略日数,DDDD.DDDD
%m月,00-12
%M分,00-59
%s从 1970-01-01 算起的秒数
%S秒,00-59
%w一周中的第几天,0-6 (0 is Sunday)
%W一年中的第几周,01-53
%Y年,YYYY
%%% symbol

Instance

이제 SQLite 프롬프트를 사용하여 다른 인스턴스를 시도해 보겠습니다. 현재 날짜를 계산하는 방법은 다음과 같습니다.


sqlite> SELECT date('now');
2013-05-07

이번 달의 마지막 날짜를 계산하는 방법은 다음과 같습니다.

sqlite> SELECT date('now','start of month','+1 month','-1 day');
2013-05-31

계산하는 방법은 다음과 같습니다. UNIX 타임스탬프 1092941466에 따른 날짜 합계 시간:

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

다음은 주어진 UNIX 타임스탬프 1092941466에 대해 현지 시간대를 기준으로 날짜와 시간을 계산하는 방법입니다.

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

계산 방법은 다음과 같습니다. 현재 UNIX 타임스탬프:

sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime');
1367926057

아래는 미국의 독립 선언서 서명 이후의 일수를 계산합니다.

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

다음은 특정 순간 이후의 초 수 계산입니다. 2004년:

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

다음은 해당 연도 10월의 첫 번째 화요일 날짜를 계산한 것입니다.

sqlite> SELECT date('now','start of year','+9 months','weekday 2');
2013-10-01

다음은 UNIX 시대 이후의 초 단위 시간입니다(strftime('과 유사). %s','now'), 소수 부분 포함 제외) :

sqlite> SELECT (julianday('now') - 2440587.5)*86400.0;
1367926077.12598

UTC와 현지 시간 값 사이를 변환합니다. 날짜 형식을 지정할 때 다음과 같이 utc 또는 localtime 수정자를 사용합니다.

으르르르르르르

PHP 중국어 웹사이트