zoukankan      html  css  js  c++  java
  • PHP时间格式化参数表笔记

    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)
  • 相关阅读:
    nodepad++的python环境变量设置
    notepad++怎么显示项目的目录树?
    转:Mysql explain
    转:Java NIO(3)
    转:Java NIO(2)
    转:Java NIO
    java 符号引用与直接引用
    Redis 基础命令
    适配器模式 & 装饰器模式
    classpath: spring 中的查找方式
  • 原文地址:https://www.cnblogs.com/zwesy/p/9429443.html
Copyright © 2011-2022 走看看