날짜 함수를 정식으로 배우기 전에 몇 가지 개념을 이해해야 합니다.
1. 시간대
2. 세계시
3. 유닉스 타임스탬프
시간대
라는 개념은 예전부터 많이 들어봤던 개념입니다. 우리가 실생활에서 사용하는 실제 영역도 컴퓨터에서 규제됩니다.
1884년 워싱턴에서 국제경도회의가 열렸을 때, 시간의 혼란을 극복하기 위해 세계를 24개의 시간대로 나누었습니다.
중국에서는 수도 베이징이 위치한 동바구의 시간을 국가통일시간으로 채택하고 있습니다.
Universal Time
천문학자들은 그리니치 표준시(영어 약어: GMT)를 사용할 뿐만 아니라 신문이나 신문에도 이 용어가 자주 등장합니다. 우리는 어디에나 현지 시간이 있다는 것을 알고 있습니다. 주요 국제 행사를 현지 시간으로 녹화한다면 복잡하고 불편할 것입니다. 그리고 시간이 지날수록 실수하기 쉬울 것입니다. 이에 천문학자들은 그리니치(영국의 한 지역) 현지 시간을 기준으로 누구나 수용할 수 있고 편리한 기록 방식을 제안했다.
unix timestamp
컴퓨터 자체는 시간을 모르므로 계산을 용이하게 하기 위해 컴퓨터에 시간을 설정해 놓습니다. 그래서 우리는 Unix 타임스탬프라는 계산 방법을 지정했습니다.
Unix 시대(1970년 1월 1일 0:00) 이후 경과된 초 수입니다.
몇 가지 개념을 배웠으니 이제 시간 함수를 배워 보겠습니다.
1. 시간대 설정
다국적 다국어 프로그램의 경우 일반적으로 프로그램이 실행될 때마다 구성 파일에 시간대를 작성합니다. . 시간대 설정을 읽어 시간을 표시합니다.
시간대를 설정하는 함수는 다음과 같습니다.
1).date_default_timezone_get()
2).date_default_timezone_set()
첫 번째 함수에 초점을 맞추지는 않겠습니다. 비교적 간단합니다.
사용법은 다음과 같습니다.
string date_default_timezone_get(void)
함수는 다음과 같습니다.
모든 날짜에 사용되는 기본값을 가져옵니다. 스크립트의 시간 함수 Time zone
예:
<?php echo date_default_timezone_get (); ?>
현재 설정된 시간을 표시합니다.
두 번째 함수가 핵심입니다.
사용법은 다음과 같습니다.
bool date_default_timezone_set ( string $timezone_identifier )
함수는 다음과 같습니다.
모든 날짜 및 시간 함수에 사용되는 기본 시간대
예:
<?php //定义一下时区常量,以后你可以放到配置文件里 define('TIME_ZONE','Asia/shanghai'); //执行函数 date_default_timezone_set(TIME_ZONE); echo date('Y-m-d H:i:s'); ?>
위 예제의 코드를 비교한 후 date_default_timezone_set 및 무엇이 표시되는지 확인하세요.
참고:
시간대 목록은 공식 매뉴얼 http://php.net/manual/zh/timezones.php
2.time( ) 현재 Unix 타임스탬프를 가져옵니다
time() 함수의 기능은 현재 시간의 Unix 타임스탬프를 가져오는 것입니다.
다음 코드는 현재 시간의 Unix 타임스탬프를 출력합니다.
<?php $time=time(); print_r( $time); ?>
프로그램 실행 결과:
1421597858
3. "Flax drop"은 PHP에서 시간 처리 학습의 핵심입니다.
Y는 영어로 연도를 의미합니다. year - —Ya
m 영어는 월을 나타내는 월을 나타냅니다. - Ma
d 영어는 날짜를 나타내는 일을 나타냅니다. - fall
이므로 다음을 출력해야 합니다. 전년도, 월, 날짜. 예: 1997년 7월 1일, 위의 세 가지 매개변수를 사용할 수 있습니다.
<?php echo date('Y年m月d日'); ?>
코드를 실행하여 표시되는지 확인할 수 있습니다.
뒤에는 여러 매개변수가 있습니다.
H:m:s는 시, 분, 초를 나타냅니다.
영어로 h는: hour는 시간을 나타냅니다.
i의 영어는 다음과 같습니다.
s' 영어는: second는 두 번째를 나타냅니다.
전체 형식은 다음과 같습니다.
<?php //就可以显示出来当前的时间了哟。 echo date('Y-m-d H:i:s'); ?>
날짜 함수는 시간 형식을 지정하는 데 사용됩니다. 시간 표시 또는 저장을 용이하게 합니다. 구문 형식은 다음과 같습니다.
string date ( string $forrnat [, int $tirnestamp] )
매개변수 목록에서:
$timestamp는 타임스탬프이고 함수는 이 타임스탬프를 $format 지정된 형식으로 출력합니다.
$timestamp에 입력값이 없으면 기본값은 현재 시간입니다.
$format은 시간 출력 형식의 문자열이며, 출력 형식을 구성하려면 지정된 문자를 사용해야 합니다.
날짜 함수의 형식 매개변수 테이블:
字符 | 说明 | 返回值 |
---|---|---|
d | 月份中的第几天,有前导零的2 位数字 | 01 到31 |
D | 英文星期几,3个字母 | Mon到Sun |
j | 月份中的第几天,没有前导零 | 1 到31 |
l(字母) | 英文星期几 | Sunday到 Saturday |
N | 1格式数字表示的星期 | 1(表示星期一)到7(表示星期天) |
S | 每月天数后面的英文后缀,2个字符 | st,nd,rd或者th。可以和jg一起用 |
w | 星期中的第几天,数字表示 | 0(表示星期天)到 6(表示星期六) |
z | 一年中的第几天 | 0到366 |
W | 年份中的第几周,每周从星期一开始 | 42(当年的第42周) |
F | 月份,完整的文本格式 | January 到 December |
m | 数字表示月份,有前导零 | 01 到 12 |
M | 3个字母缩写表示的月份 | Jan 到Dec |
n | 数字表示月份,没有前导零 | 1 到 12 |
t | 给定月份所应有的天数 | 28 到 31 |
L | 是否为闰年 | 如果是闰年为1,否则为o |
o | 格式年份数字 | 例如2007 |
Y | 4 位数字完整表示年份 | 例如1999或2008 |
y | 2 位数字表示的年份 | 例如99或08 |
a | 小写的上午和下午值 | am或pm |
A | 大写的上午和下午值 | AM或PM |
g | 小时,12小时格式,没有前导零 | 1到12 |
G | 小时,24小时格式,没有前导零 | 0 到 23 |
i | 有前导零的分钟数 | 00 到 59 |
s | 秒数,有前导零 | 00到59 |
e | 时区标识 | |
U | 从Unix纪元开始至今的秒数 | 长整型数字 |
3. getdate는 현재 시스템 시간을 가져옵니다.
getdate는 현재 시스템 시간을 가져오거나 타임스탬프의 특정 의미를 가져오는 데 사용됩니다. 타임스탬프는 긴 정수이며 getdate의 구문 형식은 다음과 같습니다.
array getdate ([ int $timestamp = time() ] )
함수의 반환 값은 타임스탬프를 기준으로 얻은 시간 정보가 포함된 배열입니다. 매개변수가 없으면 현재 시간이 반환됩니다. getdate에 의해 반환된 배열인 키 이름에는 시간과 날짜에 대한 완전한 정보가 포함됩니다.
键名 | 说明 | 返回值 |
---|---|---|
secnods | 秒 | 数字0到 59 |
minutes | 分钟 | 数字0到59 |
hours | 小时 | 数字 0到 23 |
mday | 月份中第几天 | 数字 1到 31 |
wday | 星期中第几天 | 数字0(表示星期天)到6(表示星期六) |
mon | 月份 | 数字 1 到 12 |
year | 年 | 4 位数字表示的完整年份 |
yday | 一年中第几天 | 数字0到365 |
weekday | 星期几的英文 | Sunday到 Saturday |
month | 月份的英文 | January 到 December |
0 | 自从Unix纪元开始的秒数 | 长整型数字 |
다음 코드는 getdate 배열의 세부 정보를 반환할 수 있습니다.
<?php $mytime=getdate(); print_r( $mytime); ?>
print_r은 모든 키 이름과 값을 배열로 출력할 수 있습니다. 이 코드를 실행하면 결과는 다음과 같습니다. 프로그램은 현재 컴퓨터의 시간과 날짜 세부정보를 출력합니다.
Array ( [seconds] => 1 //秒 [minutes] => 10 //分钟 [hours] => 17 //小时 [mday] => 18 //日 [wday] => 0 //星期中的第几天 [mon] => 1 //月 [year] => 2015 //年 [yday] => 17 //年中的第几天 [weekday] => Sunday //星期 [month] => January //月份 [0] => 1421597401 //时间戳 )
getdate 함수와 반환된 배열을 이해하고 나면 현재 시간 정보를 쉽게 얻을 수 있습니다. 다음 코드는 getdate 함수를 사용하여 시간 정보를 얻고, 반환된 시간 배열의 값을 호출하여 시간 정보를 출력합니다.
<?php $mytime = getdate(); echo "年 :".$mytime['year']."\n"; echo "月 :".$mytime['mon']."\n"; echo "日 :".$mytime['mday']."\n"; echo "时 :".$mytime['hours']."\n"; echo "分 :".$mytime['minutes']."\n"; echo "秒 :".$mytime['seconds']."\n"; echo "一个小时中的第几钟 :".$mytime['minutes']."\n"; echo "这是一分钟的第几秒 :".$mytime['seconds']."\n"; echo "星期名称 :".$mytime['weekday']."\n"; echo "月份名称 :".$mytime['month']."\n"; echo "时间戳 :".$mytime[0]."\n"; ?>
이 프로그램을 실행하면 현재 시간의 자세한 정보가 표시됩니다. 프로그램을 실행한 결과는 다음과 같습니다.
연도: 2015
월: 1
일: 18
시: 17
분: 14
초: 11
첫 번째 날 주 요일: 14
연중 요일: 11
주 이름: 일요일
월 이름: 1월
타임 스탬프: 1421597651