我正在为一个小项目使用strtotime函数,它是一个非常强大的工具,但我只是需要一些帮助才能进入它的内部。
在自动评估给定日期时有没有办法捕获? 例如,当您输入strtotime(“2/30/2006”)时,它将返回3/2/2006的时间戳。 或者,如果您在1970年之前提交任何日期,它将返回1970年1月1日的时间戳。
对于这些输入,strtotime函数必须做一些事情来评估这些字符串,我想知道是否有任何方法来捕获这些触发器。
谢谢。
答案 0 :(得分:1)
strtotime()函数将英文文本日期时间解析为Unix时间戳(自1970年1月1日00:00:00 GMT以来的秒数)。
注意:如果年份以两位数格式指定,则0-69之间的值映射到2000-2069,70-100之间的值映射到1970-2000。
注意:请注意m / d / y或d-m-y格式的日期;如果分隔符是斜杠(/),则假定为美国m / d / y。如果分隔符是破折号( - )或点(。),则假定为欧洲d-m-y格式。为避免潜在的错误,您应该尽可能使用YYYY-MM-DD日期或date_create_from_format()。
日期有明确的格式输入:
d - The day of the month (from 01 to 31)D - A textual representation of a day (three letters)j - The day of the month without leading zeros (1 to 31)l (lowercase 'L') - A full textual representation of a dayN - The ISO-8601 numeric representation of a day (1 for Monday, 7 for Sunday)S - The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j)w - A numeric representation of the day (0 for Sunday, 6 for Saturday)z - The day of the year (from 0 through 365)W - The ISO-8601 week number of year (weeks starting on Monday)F - A full textual representation of a month (January through December)m - A numeric representation of a month (from 01 to 12)M - A short textual representation of a month (three letters)n - A numeric representation of a month, without leading zeros (1 to 12)t - The number of days in the given monthL - Whether it's a leap year (1 if it is a leap year, 0 otherwise)o - The ISO-8601 year numberY - A four digit representation of a yeary - A two digit representation of a yeara - Lowercase am or pmA - Uppercase AM or PMB - Swatch Internet time (000 to 999)g - 12-hour format of an hour (1 to 12)G - 24-hour format of an hour (0 to 23)h - 12-hour format of an hour (01 to 12)H - 24-hour format of an hour (00 to 23)i - Minutes with leading zeros (00 to 59)s - Seconds, with leading zeros (00 to 59)u - Microseconds (added in PHP 5.2.2)e - The timezone identifier (Examples: UTC, GMT, Atlantic/Azores)I (capital i) - Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise)O - Difference to Greenwich time (GMT) in hours (Example: +0100)P - Difference to Greenwich time (GMT) in hours:minutes (added in PHP 5.1.3)T - Timezone abbreviations (Examples: EST, MDT)Z - Timezone offset in seconds. The offset for timezones west of UTC is negative (-43200 to 50400)c - The ISO-8601 date (e.g. 2013-05-05T16:34:42+00:00)r - The RFC 2822 formatted date (e.g. Fri, 12 Apr 2013 12:01:05 +0200)U - The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
并且还可以使用以下预定义常量(自PHP 5.1.0起可用):
DATE_ATOM - Atom(例如:2013-04-12T15:52:01 + 00:00)DATE_COOKIE - HTTP Cookie(例如:星期五,12月4日 - 13月15:52:01 UTC)DATE_ISO8601 - ISO-8601(例如:2013-04-12T15:52:01 + 0000)DATE_RFC822 - RFC 822(例如:星期五,12月13日15:52:01 +0000)DATE_RFC850 - RFC 850(例如:星期五,12月4日至13日15: 52:01 UTC)DATE_RFC1036 - RFC 1036(例如:星期五,12月13日15:52:01 +0000)DATE_RFC1123 - RFC 1123(例如:星期五,2013年4月12日15:52:01 +0000)DATE_RFC2822 - RFC 2822(星期五,2013年4月12日15:52:01 +0000)DATE_RFC3339 - 与DATE_ATOM相同(自PHP 5.1.3起)DATE_RSS - RSS(星期五,2013年8月12日15:52:01 +0000)DATE_W3C - 万维网联盟(示例:2013-04-12T15:52:01 + 00:00)
访问此处获取信息 Php strtotime ()