توابع strtotime() در PHP

مثال‌ها

تقسیم‌بندی و تبدیل متن انگلیسی تاریخ و زمان به تایم استامپ Unix:

<?php
echo(strtotime("now") . "<br>");
echo(strtotime("15 October 1980") . "<br>");
echo(strtotime("+5 hours") . "<br>");
echo(strtotime("+1 week") . "<br>");
echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>");
echo(strtotime("next Monday") . "<br>");
echo(strtotime("last Sunday"));
?>

مثال‌های اجرایی

تعریف و استفاده

توابع strtotime() هر متن انگلیسی که شامل تاریخ یا زمان است را به تایم استامپ Unix (ثانیه‌ها از 01 ژانویه 1970 00:00:00 GMT) تبدیل می‌کند.

توجه:اگر سال با فرمت دو رقمی نمایش داده شود، مقادیر 0-69 به سال‌های 2000-2069 و مقادیر 70-100 به سال‌های 1970-2000 تبدیل می‌شوند.

توجه:لطفاً تاریخ‌های به فرمت m/d/y یا d-m-y را توجه کنید، اگر نشانه‌ای از خط تیره (‌-) یا نقطه (‌.) استفاده شود، باید از فرمت اروپایی d-m-y استفاده کرد. برای جلوگیری از خطاهای احتمالی، باید تا حد امکان از فرمت YYYY-MM-DD استفاده کنید یا از تابع date_create_from_format() استفاده کنید.

语法

strtotime(time,now);
参数 描述
time 必需。规定日期/时间字符串。
now 可选。规定用来计算返回值的时间戳。如果省略该参数,则使用当前时间。

技术细节

返回值: 若成功则返回时间戳,失败则返回FALSE。
PHP版本: 4+

更新日志:

5.3.0: 现在相对时间格式,比如这一周、前一周、上一周、下一周,规定一周从星期一到星期日,而不是使用相对于当前日期/时间的前后7天。
5.3.0 在PHP 5.3.0之前,24:00不是一个有效的格式,并且strtotime()会返回FALSE。
5.2.7 在这之前的版本中,如果请求一个月中某个给定日期且该日期刚好是该月的第一天,则会错误地把增加一个星期到返回的时间戳中,这点现在已经得到更正。
5.1.0 如果失败则返回 FALSE(在这之前的版本则返回 -1),并增加了 E_STRICT 和 E_NOTICE 时区错误。
5.0.2 现在正确计算 "now" 和其他相对时间是以当前时间为准,而不是以今天午夜的时间为准。
5.0.0 允许微秒(但微秒数通常被忽略)。
4.4.0 在PHP 4.4之前,"next" 被错误计算为 +2。对此通常的解决方法是用 "+1"。