设为首页 收藏本站
查看: 813|回复: 0

[经验分享] php关于时间的学习

[复制链接]

尚未签到

发表于 2018-12-23 11:55:10 | 显示全部楼层 |阅读模式
关于时间的函数:
strftime 根据区域设置格式化本地时间/日期
strptime 解析由 strftime() 生成的日期/时间
setlocale  函数设置地区信息(地域信息)
date_default_timezone_set 如果发觉date函数得出的小时数与实际相差8小时,请加上date_default_timezone_set('Etc/GMT-8');
date 格式化一个本地时间/日期
gmdate  date完全一样— 格式化一个 GMT/UTC 日期/时间
mktime 取得一个日期的 Unix 时间戳  mktime(0, 0, 0, 12, 30, 1997)
gmmktime mktime 完全一样
strtotime 将任何英文文本的日期时间描述解析为 Unix 时间戳
time 返回当前的 Unix 时间戳
microtime 返回当前 Unix 时间戳和微秒数
getlastmod 取得目前使用中网页最后一次更新网页内容的时间

注意:TimeStamp不是函数是指Unix 时间戳即由19700101000秒到此刻的秒数

实际操作案例


$strtime = "2000-02-12 16:20:35";


$array = explode("-",$strtime);

$year = $array[0];

$month = $array[1];

var_dump($array);

$array = explode(":",$array[2]);

$minute = $array[1];

$second = $array[2];

var_dump($array);


$array = explode(" ",$array[0]);

$day = $array[0];

$hour = $array[1];


$timestamp = mktime($hour,$minute,$second,$month,$day,$year);


echo "字符串时间:$strtime";

echo "年:$year";

echo "月:$month";

echo "日:$day";

echo "时:$hour";

echo "分:$minute";

echo "秒:$second";

echo "转换为timestamp" . $timestamp . "";

echo "timestamp转换回来:" . date("y-m-d h:i:s",$timestamp) . "";

echo "timestamp转换回来:" . date("y-m-d h:i:s","1288263141") . "";



header("Content-Type:text/html; charset=utf-8");

echo (strtotime("2010-10-28 10:52:21")). ""; // MySQL格式的字符串转换成秒数

echo (strtotime("2010-10-01 00:00:00")). "";

$d = date("Y-m-d H:i:s", time()); // 秒数转换成MySQL格式的timestamp

echo $d. "";

结果为:

array

  0 => string '2000' (length=4)

  1 => string '02' (length=2)

  2 => string '12 16:20:35' (length=11)

array

  0 => string '12 16' (length=5)

  1 => string '20' (length=2)

  2 => string '35' (length=2)

字符串时间:2000-02-12 16:20:35
年:2000
月:02
日:12
时:16
分:20
秒:35
转换为timestamp:950372435
从timestamp转换回来:00-02-12 04:20:35
从timestamp转换回来:10-10-28 10:52:21
1288263141
1285891200
2011-10-20 14:48:27



格式化时间函数的常见值

函数 date ( string format [, int timestamp])可以格式化日期/时间,参数format是格式化字符串,最常用的值如下:
Y4 位数字完整表示的年份
y2位数字表示的年份
m:数字表示的月份
M:三个字母缩写表示的月份
d:月份中的第几天
D:星期中的第几天
h:小时,12 小时格式,有前导零
H:小时,24 小时格式,有前导零
i:有前导零的分钟数
I:是否为夏令时
s:秒数
S:每月天数后面的英文后缀,2 个字符
w:星期中的第几天,数字表示
WISO-8601 格式年份中的第几周,每周从星期一开始
l:星期几,完整的文本格式
L:是否为闰年
g 12 小时格式,没有前导零
G24 小时格式,没有前导零

如果发觉date函数得出的小时数与实际相差8小时,请加上date_default_timezone_set('Etc/GMT-8');
getdate(timestamp) 函数可以取得日期/时间信息。
返回一个根据 timestamp 得出的包含有日期信息的结合数组。如果没有给出时间戳,则认为是当前本地时间。
数组中的单元如下:
  
键名

说明

返回值例子

"seconds"         

秒的数字表示

0 到 59

"minutes"

分钟的数字表示

0 到 59

"hours"

小时的数字表示

0 到 23

"mday"

月份中第几天的数字表示

1 到 31

"wday"

星期中第几天的数字表示

0(表示星期天)到 6(表示星期六)

"mon"

月份的数字表示

1 到 12

"year"

4 位数字表示的完整年份

例如:1999 或 2003

"yday"

一年中第几天的数字表示

0 到 365

"weekday"

星期几的完整文本表示

Sunday 到 Saturday

"month"

月份的完整文本表示

January 到 December

0

自从 Unix 纪元开始至今的秒数,和 time() 的返回值以及用于 date() 的值类似。

系统相关,典型值为从 -2147483648 到 2147483647。


实例:

//显示的格式: -- 小时:分钟:

$showtime=date("Y-m-d H:i:s");

echo '显示时间的格式为:'.$showtime."";
结果为:
显示时间的格式为:2011-10-20 14:48:27




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654783-1-1.html 上篇帖子: 谈PHP的框架 下篇帖子: php与java的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表