date_create_from_format() 函数返回一个根据指定格式进行格式化的新的 DateTime 对象。通常需要配合date_format()函数使用

语法:

date_create_from_format(format,time,timezone);

date_format(object,format);

object  由 date_create() 返回的 DateTime 对象。

参数 描述
format 必需。规定要使用的格式。format 参数字符串可以使用下列的字符:

  • d - 一个月中的第几天,带前导零
  • j - 一个月中的第几天,不带前导零
  • D - 一周中的某天(Mon - Sun)
  • I - 一周中的某天(Monday - Sunday)
  • S - 一个月中的第几天的英语后缀(st, nd, rd, th)
  • F - 月份名称(January - December)
  • M - 月份名称(Jan - Dec)
  • m - 月份(01 - 12)
  • n - 月份(1 - 12)
  • Y - 年份(例如 2013)
  • y - 年份(例如 13)
  • a 和 A - am 或 pm
  • g - 12 小时制,不带前导零
  • h - 12 小时制,带前导零
  • G - 24 小时制,不带前导零
  • H - 24 小时制,带前导零
  • i - 分,带前导零
  • s - 秒,带前导零
  • u - 微秒(多达六个数字)
  • e、O、P 和 T - 时区标识符
  • U - 自 Unix 纪元以来经过的秒数
  • (空格)
  • # - 下列分隔符之一:;、:、/、.、,、-、(、)
  • ? - 一个随机字节
  • * - 随机字节直到下一个分隔/数字
  • ! - 重置所有字段到 Unix 纪元
  • | - 如果所有字段都还没被解析,则重置所有字段到 Unix 纪元
  • + - 如果存在,字符串中的尾随数据将导致警告,不是错误
time 必需。规定一个日期/时间字符串。NULL 表示当前的日期/时间。
timezone 可选。规定 time 的时区。默认为当前时区。

timezone:查看 PHP 中支持的所有时区列表

常用时间函数

计算2个时间差(天)

date_diff(datetime1,datetime2,absolute);

absolute 可选。规定一个布尔值。TRUE 表示间隔/差值必须是正的。默认是 FALSE。

<?php
$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);
echo $diff->format("%R%a days");
?>

date_parse() 函数返回一个包含指定日的详细信息的关联数组。格式由 strtotime() 接受

如:

<?php
print_r(date_parse("2013-05-01 12:30:45.5"));
?>

Array ( [year] => 2013 [month] => 5 [day] => 1 [hour] => 12 [minute] => 30 [second] => 45 [fraction] => 0.5 [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => )

microtime() 函数返回当前 Unix 时间戳的微秒数。

microtime(get_as_float);get_as_float 可选,当设置为 TRUE 时,规定函数应该返回一个浮点数,否则返回一个字符串。默认为 FALSE。

解析由 strftime() 生成的时间/日期:

<?php
$format="%d/%m/%Y %H:%M:%S";
$strf=strftime($format);
echo("$strf");
print_r(strptime($strf,$format));
?>
注意:该函数不能在 Windows 平台下实现!
date 必需。要解析的字符串(例如:由 strftime() 返回的)。
format 必须。规定日期中要使用的格式:

  • %a - 星期几名称的简写
  • %A - 星期几名称的全称
  • %b - 月份名称的简写
  • %B - 月份名称的全称
  • %c - 首选的日期和时间表示法
  • %C - 表示世纪的数字(年份除以 100,范围从 00 到 99)
  • %d - 一个月中的第几天(01 到 31)
  • %D - 时间格式,与 %m/%d/%y 表示法相同
  • %e - 一个月中的第几天(1 到 31)
  • %g - 与 %G 表示法类似,但不带世纪
  • %G - 与 ISO 星期数对应的 4 位数年份(见 %V)
  • %h - 与 %b 表示法相同
  • %H - 小时,使用 24 小时制(00 到 23)
  • %I - 小时,使用 12 小时制(01 到 12)
  • %j - 一年中的第几天(001 到 366)
  • %m - 月份(01 到 12)
  • %M - 分
  • %n - 换行符
  • %p - 与给定的时间值相对应的 am 或 pm
  • %r - a.m. 和 p.m. 的时间标记法
  • %R - 24 小时制的时间标记法
  • %S - 秒
  • %t - tab 制表符
  • %T - 当前时间,与 %H:%M:%S 表示法相同
  • %u - 星期几的数字表示(1 到 7),Monday[星期一] = 1。警告:在 Sun Solaris 系统中,Sunday[星期日] = 1
  • %U - 当年包含的周数,从第一个星期日开始,作为第一周的第一天
  • %V - 当年包含的 ISO 8601 格式下的周数(01 到 53),week 1 表示当年的第一周,至少要有四天,且以星期一作为周的第一天
  • %W - 当年包含的周数,从第一个星期一开始,作为第一周的第一天
  • %w - 以十进制数形式表示一周中的某天,Sunday[星期日] = 0
  • %x - 首选的日期表示法,不带时间
  • %X - 首选的时间表示法,不带日期
  • %y - 不包含表示世纪的数字的年份表示(范围从 00 到 99)
  • %Y - 包含表示世纪的数字的年份表示
  • %Z 或 %z - 时区名称或简写
  • %% - 输出一个 % 字符
返回值: 如果成功该函数返回一个带有解析日期的数组。如果失败则返回 FALSE。

返回数组的键名含义如下所示:

  • [tm_sec] - 当前分钟内的秒数(0-61)
  • [tm_min] - 当前小时内的分钟数(0-59)
  • [tm_hour] - 午夜起的小时数(0-23)
  • [tm_mday] - 月份中的第几天(1-31)
  • [tm_mon] - 自一月起过了几个月(0-11)
  • [tm_year] - 自 1900 年起过了几年
  • [tm_wday] - 自星期天起过了几天(0-6)
  • [tm_yday] - 本年自 1 月 1 日起过了多少天(0-365)
  • [unparsed] - 日期中未能通过指定的 format 识别的部分

strtotime() 函数将任何字符串的日期时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数)

语法:

int strtotime ( string $time [, int $now = time() ] )
示例:
<?php
// 设置时区
date_default_timezone_set("PRC"); $time = strtotime("2018-01-18 08:08:08");
// 将指定日期转成时间戳
// 打印当前时间 PHP_EOL 换行符,兼容不同系统
echo $time, PHP_EOL;
// 更多实例
echo strtotime("now"), PHP_EOL;
echo strtotime("now"), PHP_EOL;
echo strtotime("10 September 2000"), PHP_EOL;
echo strtotime("+1 day"), PHP_EOL; echo strtotime("+1 week"), PHP_EOL;
echo strtotime("+1 week 2 days 4 hours 2 seconds"), PHP_EOL; echo strtotime("next Thursday"), PHP_EOL;
echo strtotime("last Monday"), PHP_EOL;
?>

Runtime 配置

Date/Time 函数的行为受到 php.ini 中设置的影响:

名称 描述 默认 PHP 版本
date.timezone 规定默认时区(所有的 Date/Time 函数使用该选项) "" PHP 5.1
date.default_latitude 规定默认纬度(date_sunrise() 和 date_sunset() 使用该选项) "31.7667" PHP 5.0
date.default_longitude 规定默认经度(date_sunrise() 和 date_sunset() 使用该选项) "35.2333" PHP 5.0
date.sunrise_zenith 规定默认日出天顶(date_sunrise() 和 date_sunset() 使用该选项) "90.83" PHP 5.0
date.sunset_zenith 规定默认日落天顶(date_sunrise() 和 date_sunset() 使用该选项) "90.83" PHP 5.0

PHP 5 Date/Time 函数

函数 描述
checkdate() 验证格利高里日期。
date_add() 添加日、月、年、时、分和秒到一个日期。
date_create_from_format() 返回一个根据指定格式进行格式化的新的 DateTime 对象。
date_create() 返回一个新的 DateTime 对象。
date_date_set() 设置一个新的日期。
date_default_timezone_get() 返回默认时区,被所有的 Date/Time 函数使用。
date_default_timezone_set() 设置默认时区,被所有的 Date/Time 函数使用。
date_diff() 返回两个日期间的差值。
date_format() 返回根据指定格式进行格式化的日期。
date_get_last_errors() 返回日期字符串中的警告/错误。
date_interval_create_from_date_string() 从字符串的相关部分建立一个 DateInterval。
date_interval_format() 格式化时间间隔。
date_isodate_set() 设置 ISO 日期。
date_modify() 修改时间戳。
date_offset_get() 返回时区偏移。
date_parse_from_format() 根据指定的格式返回一个带有指定日期的详细信息的关联数组。
date_parse() 返回一个带有指定日期的详细信息的关联数组。
date_sub() 从指定日期减去日、月、年、时、分和秒。
date_sun_info() 返回一个包含有关指定日期与地点的日出/日落和黄昏开始/黄昏结束的信息的数组。
date_sunrise() 返回指定日期与地点的日出时间。
date_sunset() 返回指定日期与地点的日落时间。
date_time_set() 设置时间。
date_timestamp_get() 返回 Unix 时间戳。
date_timestamp_set() 设置基于 Unix 时间戳的日期和时间。
date_timezone_get() 返回给定 DateTime 对象的时区。
date_timezone_set() 设置 DateTime 对象的时区。
date() 格式化本地日期和时间。
getdate() 返回某个时间戳或者当前本地的日期/时间的日期/时间信息。
gettimeofday() 返回当前时间。
gmdate() 格式化 GMT/UTC 日期和时间。
gmmktime() 返回 GMT 日期的 UNIX 时间戳。
gmstrftime() 根据区域设置格式化 GMT/UTC 日期和时间。
idate() 格式化本地时间/日期为整数。
localtime() 返回本地时间。
microtime() 返回当前 Unix 时间戳的微秒数。
mktime() 返回一个日期的 Unix 时间戳。
strftime() 根据区域设置格式化本地时间/日期。
strptime() 解析由 strftime() 生成的时间/日期。
strtotime() 将任何英文文本的日期或时间描述解析为 Unix 时间戳。
time() 返回当前时间的 Unix 时间戳。
timezone_abbreviations_list() 返回包含夏令时、偏移量和时区名称的关联数组。
timezone_identifiers_list() 返回带有所有时区标识符的数值数组。
timezone_location_get() 返回指定时区的位置信息。
timezone_name_from_ abbr() 根据时区缩略语返回时区名称。
timezone_name_get() 返回时区的名称。
timezone_offset_get() 返回相对于 GMT 的时区偏移。
timezone_open() 创建一个新的 DateTimeZone 对象。
timezone_transitions_get() 返回时区的所有转换。
timezone_version_get() 返回时区数据库的版本。

PHP 5 预定义的 Date/Time 常量

常量 描述
DATE_ATOM Atom (例如:2005-08-15T16:13:03+0000)
DATE_COOKIE HTTP Cookies (例如:Sun, 14 Aug 2005 16:13:03 UTC)
DATE_ISO8601 ISO-8601 (例如:2005-08-14T16:13:03+0000)
DATE_RFC822 RFC 822 (例如:Sun, 14 Aug 2005 16:13:03 UTC)
DATE_RFC850 RFC 850 (例如:Sunday, 14-Aug-05 16:13:03 UTC)
DATE_RFC1036 RFC 1036 (例如:Sunday, 14-Aug-05 16:13:03 UTC)
DATE_RFC1123 RFC 1123 (例如:Sun, 14 Aug 2005 16:13:03 UTC)
DATE_RFC2822 RFC 2822 (例如:Sun, 14 Aug 2005 16:13:03 +0000)
DATE_RSS RSS (例如:Sun, 14 Aug 2005 16:13:03 UTC)
DATE_W3C 万维网联盟 (例如:2005-08-14T16:13:03+0000)

PHP时间格式化参数表笔记的更多相关文章

  1. mysql 时间格式化参数表笔记

    DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法: DATE_FORMAT(date,format) 实例: DATE_FORMAT(NOW(),'%b %d %Y %h:% ...

  2. MySQL日期时间格式化参数

    MySQL中常常会用到对日期的格式化,比如按某时间格式计算间隔,按某时间格式统计信息等等,所以整理了一下日期格式化的参数,可以根据自己的需求进行组合使用.使用例子如下: (1)SELECT DATE_ ...

  3. ORACLE——日期时间格式化参数详解 之一

    2.日期格式化参数详解 2.1 -/,.;: 指定返回字串分隔符 SQL> select to_char(sysdate,'yyyy.mm.dd') from dual; TO_CHAR(SYS ...

  4. ORACLE——日期时间格式化参数详解 之二

    2.8 DD 指定日期在当月中第几天(范围:1-31) SQL> select to_char(sysdate,'DD YYYY-MM-DD PM hh24:mi:ss ') from dual ...

  5. ORACLE——日期时间格式化参数详解 之三

    2.20 Y,YYY 返回有逗号分隔显示的年 SQL> select to_char(SYSTIMESTAMP,'Y,YYY') from dual; TO_CHAR(SYSTIMESTAMP, ...

  6. Python学习笔记 (2) :字符串输出、操作、格式化和日期、时间格式化

    一.字符串输出及运算 1.常用输出格式及方法 ')#单引号 ")#双引号 """)#三个引号 1234567890 1234567890 1234567890 ...

  7. js对特殊字符转义、时间格式化、获取URL参数

    /*特殊字符转义*/ function replace_html(str) { var str = str.toString().replace(/&/g, "&" ...

  8. 特殊字符转义&时间格式化&获取URL参数

    /*特殊字符转义*/ function htmlspecialchars (str) { var str = str.toString().replace(/&/g, "&& ...

  9. 获取url参数和时间格式化

    1. 获取url参数: var url = request("url"); //获取url参数 function request(paras) { //decodeURI() 函数 ...

随机推荐

  1. Noip前的大抱佛脚----数论

    目录 数论 知识点 Exgcd 逆元 gcd 欧拉函数\(\varphi(x)\) CRT&EXCRT BSGS&EXBSGS FFT/NTT/MTT/FWT 组合公式 斯特林数 卡塔 ...

  2. 三层BP神经网络的python实现

    这是一个非常漂亮的三层反向传播神经网络的python实现,下一步我准备试着将其修改为多层BP神经网络. 下面是运行演示函数的截图,你会发现预测的结果很惊人! 提示:运行演示函数的时候,可以尝试改变隐藏 ...

  3. 【转载】MSXML应用总结 概念篇

    原文:http://blog.sina.com.cn/s/blog_48f93b530100e9tr.html 微软提供了大量的XML开发工具和技术,而SMXML(Microsoft XML Core ...

  4. springmvc pager-taglib 分页,bootstrap样式

    注意: 嵌入到项目中时必须以带参形式访问: http://localhost:8081/DETECT-X/showConnLogsByPager.action?pageSize=5&pager ...

  5. js中哈希表的几种用法总结

    本篇文章只要是对js中哈希表的几种用法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1. <html> <head> <script type=" ...

  6. 03_set slice的时间复杂度

    set slice O(n+k) 使用切片赋值来解释set slice的时间复杂度 (1) 对li[0:3]赋值首先会删除1,2,3,空出来的位置被后面的元素依次向前移动填充,由del slice 得 ...

  7. 笨办法学Python - 习题3: Numbers and Math

    目录 习题 3: 数字和数学计算 算术运算符 加分习题: 我的答案: 总结: 扩展: Python比较运算符 Python赋值运算符 Python位运算符 Python逻辑运算符 Python成员运算 ...

  8. 对React children 的深入理解

    React的核心为组件.你可以像嵌套HTML标签一样嵌套使用这些组件,这使得编写JSX更加容易因为它类似于标记语言. 当我刚开始学习React时,当时我认为“使用 props.children 就这么 ...

  9. OO学习体会与阶段总结(设计与实现)

    前言   在最近的一个月的课程中,笔者对于规格化编程进行了深入的学习.运用面向对象抽象思想对编写的程序进行过程抽象.异常处理.数据抽象.类的层次规格与迭代等等规格设计,使得程序结构化程度提高,具有更好 ...

  10. 实验1:java开发环境的熟悉

    一.实验内容 1. 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试Java程序 3.实现四则运算并进行测试. 二.实验知识点 1. JVM.JRE.JDK的安装 ...