今天有空整理一下PHP时间相关函数的使用
strtotime
strtotime()预期接受一个包含美国英语日期格式的字符串并尝试将其解析为Unix时间戳<?phpecho strtotime("now"), "\n";//1488259922echo strtotime("10 September 2000"), "\n";// 968536800echo strtotime("+1 day"), "\n";//1488346322echo strtotime("+1 week"), "\n";//1488864722echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";//1489051924echo strtotime("next Thursday"), "\n";//1488409200echo strtotime("last Monday"), "\n";//1488150000?>
DEMO:<?php $t ="1989-03-01 01:00:00";echo strtotime($t);//604713600date_default_timezone_set('PRC');$t ="1989-03-01 01:00:00";echo strtotime($t);//604688400?>
date日d 月份中的第几天,有前导零的 2 位数字 01 到 31D 星期中的第几天,文本表示,3 个字母 Mon 到 Sunj 月份中的第几天,没有前导零 1 到 31l 星期几,完整的文本格式 Sunday 到 SaturdayN ISO-8601 格式数字表示的星期中的第几天 1(表示星期一)到 7(表示星期天)S 每月天数后面的英文后缀,2 个字符 st,nd,rd 或者 th。可以和 j 一起用w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)z 年份中的第几天 0 到 365星期W ISO-8601 格式年份中的第几周,每周从星期一开始 42(当年的第 42 周)月 F 月份,完整的文本格式, January或March January 到 Decemberm 数字表示的月份,有前导零 01 到 12M 三个字母缩写表示的月份 Jan 到 Decn 数字表示的月份,没有前导零 1 到 12t 给定月份所应有的天数 28 到 31年 L 是否为闰年 如果是闰年为 1,否则为 0o ISO-8601 格式年份数字 1999 or 2003Y 4 位数字完整表示的年份 1999 或 2003y 2 位数字表示的年份 99 或 03时间 a 小写的上午和下午值 am 或 pmA 大写的上午和下午值 AM 或 PMB Swatch Internet 标准时 000 到 999g 小时,12 小时格式,没有前导零 1 到 12G 小时,24 小时格式,没有前导零 0 到 23h 小时,12 小时格式,有前导零 01 到 12H 小时,24 小时格式,有前导零 00 到 23i 有前导零的分钟数 00 到 59s 秒数,有前导零 00 到 59u 毫秒 654321时区 e 时区标识(PHP 5.1.0 新加) UTC,GMT,Atlantic/AzoresI 是否为夏令时 如果是夏令时为 1,否则为 0O 与格林威治时间相差的小时数 +0200P 小时和分钟之间有冒号分隔 +02:00T 本机所在的时区 EST,MDTZ 时差偏移量的秒数 -43200 到 43200完整的日期/时间c ISO 8601 格式的日期 2004-02-12T15:19:21+00:00r RFC 822 格式的日期 Thu, 21 Dec 2000 16:01:07 +0200U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数
DEMO:<?php // 设定要用的默认时区。自 PHP 5.1 可用date_default_timezone_set('UTC');//Tuesdayecho date("l");// Tuesday 28th of February 2017 05:41:19 AMecho date('l dS \of F Y h:i:s A');//July 1, 2000 is on a Saturdayecho "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));// Tue, 28 Feb 2017 05:41:19 +0000echo date(DATE_RFC2822);// 2000-07-01T00:00:00+00:00echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));?>
time<?php $nextWeek = time() + (7 * 24 * 60 * 60);// 7 days; 24 hours; 60 mins; 60 secsecho 'Now: '. date('Y-m-d') ."\n";//Now: 2017-02-28echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";//Next Week: 2017-03-07echo 'Next Week: '. date('Y-m-d', strtotime('+1 week')) ."\n";// Next Week: 2017-03-07?>
mktime
在PHP中,如果需要将日期和时间转换为UNIX时间戳,可以调用mktime()函数
mktime()Unix时间戳,参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值<?php // Prints something like: 2006-04-05T01:02:03+00:00echo date('c', mktime(1, 2, 3, 4, 5, 2006));?>
就到这里吧!
本文由“遇见阿飞帐号”发布,2017年9月28日