PHP日期时间

2019-08-23  本文已影响0人  wpf_register
1.关于时间
2.PHP中常用时期时间函数:
//默认是标准时区
//也可以在my.ini配置文件中设置并保存
date_default_timezone_set('PRC');


//获取当前 Unix 微秒数和时间戳
microtime(true);   //1566526995.0822
microtime();       //0.08222000 1566526995

//获取当前Unix秒数时间戳,是一个10位的整数,
//表示自 Unix 纪元(1月1日 1970 00:00:00 GMT)起的当前时间的秒数。
time()      
 

1.date()

// date()把时间戳格式化为更易读的日期和时间
//格式:string date ( string $format [, int $timestamp ] )
//format : 必需,规定输出日期字符串的格式
//timestamp : 可选,规定整数的 Unix 时间戳。
//默认是当前的本地时间 time()
//返回值是格式化后的时间字符串


// 假定今天是:2019.08.23 09:26
// 2001-03-10 17:16:18 
$today = date("Y-m-d H:i:s",time());     
// March 10, 2001, 5:16 pm         
$today = date("F j, Y, g:i a");    
// 03.10.01             
$today = date("m.d.y");  
 // 10, 3, 2001                      
$today = date("j, n, Y");     
// 20010310                 
$today = date("Ymd");             
// 05-16-17, 10-03-01, 1631 1618 6 Fripm01              
$today = date('h-i-s, j-m-y, it is w Day z ');  
// It is the 10th day.
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');  
// Sat Mar 10 15:16:08 MST 2001 
$today = date("D M j G:i:s T Y");
// 17:03:17 m is month               
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); 
// 17:16:17    
$today = date("H:i:s");                         

$year = date('Y');  // 当前年份
$month = date('m'); // 当前月份
$day = date('d');   // 当前是几号

$week= array('日','一','二','三','四','五','六');
echo date('Y年m月d日').'星期'.$week[date('w')];

字符 说明 示例
年月日
Y 4 位数字完整表示的年份 1999 或 2003
y 2 位数字表示的年份 99 或 03
m 数字表示的月份有前导零 01 到 12
n 数字表示的月份没有前导零 1 到 12
d 月份中的第几天有前导零 01 到 31
j 月份中的第几天没有前导零 1 到 31
分秒
g 12 小时格式没有前导零 1 到 12
G 24 小时格式没有前导零 0 到 23
h 12 小时格式有前导零 01 到 12
H 124 小时格式有前导零 00 到 23
i 分钟数有前导零 00 到 59>
s 秒数有前导零 00 到 59>
周天
W 年中的第几周 每周从星期一开始
w 周中的第几天 0-6(0表示星期天)
N 周中的第几天 1- 7(7表示星期天)
z 年中的第几天 0 到 366
其它
L 指定年份是否闰年 闰年为 1,否则为 0
t 指定月份有几天 28 到 31
e 时区标识 UTC,GMT,PRC ,Atlantic/Azores

2. strtotime()

//strtotime()函数将表示时间和日期的字符串转化为相应的时间戳
//格式: int strtotime ( string $time [, int $now = time() ] )
//time: 日期/时间字符串
//now : 用来计算返回值的时间戳
// 本函数预期接受一个包含美国英语日期格式的字符串
// 并尝试将其解析为 Unix 时间戳,其值相对于 now 参数给出的时间,
// 如果没有提供此参数则用系统当前时间

strtotime("now"); "<br>";  // 现在时间戳
strtotime("10 September 2000"); "<br>"; // 2000年10月现在时间戳

strtotime("+1 day"); "<br>";  // 距离现在一天后的时间戳
time()+3600*24;
strtotime("-3 day"); "<br>";  // 距离现在三天前的时间戳
time()-3*3600*24;

strtotime("+1 week"); "<br>"; // 距离现在一周后的时间戳
strtotime("-1 month"); "<br>";// 距离现在一个月前的时间戳
strtotime("+1 year"); "<br>"; // 距离现在一年后的时间戳

//距离现在1周2天4小时2秒后的时间戳
strtotime("+1 week 2 days 4 hours 2 seconds"); "<br>";  
strtotime("next Thursday"); "<br>";  // 下个星期三
strtotime("last Monday"); "<br>";    // 本月的最后一个星期一

3. mktime()

// mktime() 创建日期,取得一个日期的 Unix 时间戳
// 格式: int mktime ([ int $hour = date("H")
//                   [, int $minute = date("i")
//                   [, int $second = date("s") 
//                   [, int $month = date("n") 
//                   [, int $day = date("j") 
//                   [, int $year = date("Y") 
//                   [, int $is_dst = -1 ]]]]]]] )
//参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值
//is_dst : 本参数可以设为 1,表示正处于夏时制时间(DST),
//0 表示不是夏时制,或者 -1(默认值)表示不知道是否是夏时制
//任何给定月份的最后一天都可以被表示为下个月的第 "0" 天,而不是 -1 天


$lastday = mktime(0, 0, 0, 3, 0, 2000);
strftime("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
strftime("Last day in Feb 2000 is: %d", $lastday);
上一篇 下一篇

猜你喜欢

热点阅读