PHP的日期和时间【PHP基础】

UNIX时间戳

自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数 . 相关函数:

time( ): 函数返回一个当前系统的时间戳

mktime( ): 取得一个日期的 Unix 时间戳

格式:int mktime(时[,分[,秒[,月[,日[,年[,is_dst区]]]]]]); 注意:is_dst参数表示是否为夏时制,PHP5.10后此参数已废除。 strtotime( ):将任何英文文本的日期时间描述解析为 Unix 时间戳 格式:int strtotime ( string $time [, int $now ] ) 实例:

<?php echo date("Y-m-d", strtotime("now")); echo date("Y-m-d", strtotime("8 may 2012")); echo date("Y-m-d", strtotime("+1 day")); echo date("Y-m-d", strtotime("last monday")); $now = strtotime("now"); //当前时间 $endtime = strtotime("2017-08-18 08:08:08"); //设定毕业时间,转成时间戳 $second = $endtime - $now; //获取毕业时间到现在时间的时间戳(秒数) $year = floor($second/3600/24/365); //从这个时间戳中换算出年头数 $temp = $second - $year*365*24*3600;//从时间戳中去掉整年的秒数,就剩下月份的秒数 $month = floor($temp/3600/24/30); //从这个时间戳中换算出月数 $temp = $temp - $month*30*24*3600; //从时间戳中去掉整月的秒数,就剩下天的秒数 $day = floor($temp/3600/24); //从这个时间戳中换算出剩余的天数 $temp = $temp - $day*3600*24; //从时间戳中去掉整天的秒数,就剩下小时的秒数 $hour = floor($temp/3600); //从这个时间戳中换算出剩余的小时数 $temp = $temp - $hour*3600; //从时间戳中去掉整小时的秒数,就剩下分的秒数 $minute = floor($temp/60); //从这个时间戳中换算出剩余的分数 $second1 = $temp - $minute*60; //最后就只有剩余的秒数了 echo "距离指定日期还有{$year}年{$month}月{$day}天{$hour}小时{$minute}分{$second1}秒"; ?>

在PHP中获取日期和时间

getdate -- 取得日期/时间信息 格式:array getdate ( [int timestamp] ) 返回一个根据 timestamp 得出的包含有日期信息的结合数组。如果没有给出时间戳则认为是当前本地时间。数组中的单元如下:

Paste_Image.png 日期和时间的格式化输出

date -- 格式化一个本地时间/日期 格式:string date ( string format [, int timestamp] ) 返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()(当前时间戳)。 例如: echo date(“Y年m月d日 H:i:s”); //2010年10月28日 14:22:28 常用参数:

Y:四位数年
m:月01-12 n:月1-12 d:天01-31 j:天1-31 H:时24时制
h:小时12制 i:分钟00-59 s:秒00-59 w:星期几0-6A:上午AM或下午PM
a:上午am或下午pm。 修改PHP的默认时区

修改PHP的默认时区有两种方式:

修php.ini配置文件: date.timezone = Etc/GMT+8

date_default_timezone_set( ): -- 设定用于一个脚本中所有日期时间函数的默认时区 。 如:date_default_timezone_set(“PRC”); //中国时区。

date_default_timezone_get( ): -- 获取当前时区

使用微妙计算PHP脚本执行时间

microtime -- 返回当前 Unix 时间戳和微秒数 格式:mixed microtime ( [bool get_as_float] ) 如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。 如果给出了 get_as_float 参数并且其值等价于 TRUE,microtime() 将返回一个浮点数。 Have a try

代码:输出“2011-5-19 14:07”这个日期的时间戳。 代码:将“1305786147”时间戳格式化成”年-月-日 时:分:秒”后输出。 代码:求出”2011-10-01”是星期几? 代码:输出两天前这个时候的日期(年-月-日 时:分:秒); 代码:计算并输出1000000次字符串比较和数字比较的耗时。 写一个万年历试一试吧 相关文章: PHP正则表达式 PHP字符串

文章来源网络,如有侵权请联系小编

喜欢的可以加Q群162542073一起讨论,交流

输入图片说明

转载于:https://my.oschina.net/u/2293432/blog/915924

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值