用PHP将一周中的一天转换为unix时间
我正在尝试获取日期字符串的unix时间,其格式如下:用PHP将一周中的一天转换为unix时间,php,date,strtotime,Php,Date,Strtotime,我正在尝试获取日期字符串的unix时间,其格式如下: 'second sunday of march 2010' 'first sunday of november 2010' 我的印象是strotime可以处理这样的字符串,但显然不能,因为它返回false。当给定一周中的某一天时,我如何转换为unix时间,该天是一个月(即第一天、第二天等)、一个月还是一年。这应该可以通过strotime实现。您可以尝试使用mktime()生成三月第一天的时间戳,并将其添加为第二个参数(在字符串部分只保留“f
'second sunday of march 2010'
'first sunday of november 2010'
我的印象是strotime可以处理这样的字符串,但显然不能,因为它返回false。当给定一周中的某一天时,我如何转换为unix时间,该天是一个月(即第一天、第二天等)、一个月还是一年。这应该可以通过
strotime
实现。您可以尝试使用mktime()
生成三月第一天的时间戳,并将其添加为第二个参数(在字符串部分只保留“first sunday”):
不确定这将如何处理第一天(3月1日)实际上是一个星期天。一定要查清楚
还有,也许这更可靠,看看吧——海报上说他用以下符号(引用)得到了很好的结果:
与strotime一样,无论您选择什么,都要确保测试良好,尤其是边缘情况(月的第一天是星期天,上月的最后一天是星期天……)这应该可以通过
strotime
实现。您可以尝试使用mktime()
生成三月第一天的时间戳,并将其添加为第二个参数(在字符串部分只保留“first sunday”):
不确定这将如何处理第一天(3月1日)实际上是一个星期天。一定要查清楚
还有,也许这更可靠,看看吧——海报上说他用以下符号(引用)得到了很好的结果:
与strotime一样,无论您选择什么,都要确保测试良好,尤其是边缘情况(每月的第一天是星期天,上个月的最后一天是星期天……)您的代码在PHP5.3.0上适用于我。您使用的是什么版本的PHP
<?php
date_default_timezone_set("Europe/Oslo");
$time_march = strtotime('second sunday of march 2010');
$time_november = strtotime('first sunday of november 2010');
echo date("Y-m-d", $time_march) . " (timestamp: $time_march)\n";
echo date("Y-m-d", $time_november) . " (timestamp: $time_november)\n";
?>
您的代码在PHP5.3.0上适合我。您使用的是什么版本的PHP
<?php
date_default_timezone_set("Europe/Oslo");
$time_march = strtotime('second sunday of march 2010');
$time_november = strtotime('first sunday of november 2010');
echo date("Y-m-d", $time_march) . " (timestamp: $time_march)\n";
echo date("Y-m-d", $time_november) . " (timestamp: $time_november)\n";
?>
你的第一个解决方案很聪明,但我甚至没有尝试,因为你的第二个解决方案很有效。谢谢。你的第一个解决方案很聪明,但我甚至没有尝试,因为你的第二个很好用。谢谢
<?php
date_default_timezone_set("Europe/Oslo");
$time_march = strtotime('second sunday of march 2010');
$time_november = strtotime('first sunday of november 2010');
echo date("Y-m-d", $time_march) . " (timestamp: $time_march)\n";
echo date("Y-m-d", $time_november) . " (timestamp: $time_november)\n";
?>
2010-03-14 (timestamp: 1268521200)
2010-11-07 (timestamp: 1289084400)