PHP date_create_from_format()函数用法示例解析

2021年4月9日17:05:49 发表评论 1,322 次浏览

date_create_from_format()是php中的内置函数, 用于根据指定格式解析时间字符串。此函数接受三个参数, 并成功返回新的DateTime或失败返回false。

语法如下:

程序风格

date_create_from_format ( $format, $time, $timezone )

面向对象的风格

DateTime::createFromFormat ( $format, $time, $timezone )

参数:此函数接受上述和以下描述的三个参数:

  • $format:它是必需的参数, 用于指定日期格式。以下参数字符串以格式使用。
    1. $time:
      • d和j:每月的某天, 两位数字, 带或不带前导零。
      • D和l:一天的文字表示。
      • S:每月的英语序数后缀, 两个字符。处理时会忽略它。
      • z:一年中的一天(从0开始)
    2. 月:
      • F和M:一个月的文本表示形式, 例如一月或九月
      • m和n:一个月的数字表示形式, 带或不带前导零
    3. 年:
      • Y:一年的完整数字表示形式, 4位数字
      • y:一年的两位数表示形式(假定范围为1970-2069(含))
    4. 时间:
      • a和A:前子午后
      • g和h:一小时的12小时格式, 带或不带前导零
      • G和H:一小时的24小时格式, 带或不带前导零
      • i:以零开头的分钟
      • s:秒, 前导零
      • u:微秒(最多六位数)
    5. 时区:
      • e, O, P和T:时区标识符, 或以小时为单位的UTC差异, 或以小时和分钟之间的冒号与UTC的差异, 或时区缩写
    6. 完整日期/时间:
      • U:自Unix时代以来的秒数(格林尼治标准时间1970年1月1日00:00:00)
    7. 空格和分隔符:
      • (空间):一格或一格
      • #:以下分隔符号之一:;, :, /, 。、、-, (或)
      • ;, :, /, 。, , , -, ( 要么 ):指定的字符。
      • ?:随机字节
      • *:随机字节, 直到下一个分隔符或数字
      • !:将所有字段(年, 月, 日, 小时, 分钟, 秒, 分数和时区信息)重置为Unix Epoch
      • |:如果尚未解析所有字段(年, 月, 日, 时, 分, 秒, 分数和时区信息), 则将其重置为Unix Epoch
      • +:如果存在此格式说明符, 则字符串中的尾随数据不会导致错误, 但会发出警告
  • 时间:此参数用作表示时间的字符串。
  • $时区:此参数用作代表所需时区的DateTimeZone对象。

返回值:成功时此函数返回一个新的DateTime实例, 失败时返回一个FALSE。

下面的程序说明了PHP中的date_create_from_format()函数。

程序1:

<?php
  
//Declare a date in given format
$date = date_create_from_format( 'D-M-Y' , 'monday-Feb-2018' );
  
//Output date in given format
echo date_format( $date , 'y-n-j' );
?>

输出如下:

18-2-5

程序2:

<?php
  
//Declare a date in given format
$date = DateTime::createFromFormat( 'D-M-Y' , 'monday-Feb-2018' );
  
//Output date in given format
echo $date ->format( 'Y-m-d' );
?>

输出如下:

2018-02-05

参考: http://php.net/manual/en/datetime.createfromformat.php


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: