在PHP中的年份,星期数和星期几

时间:2014-02-10 12:41:17

标签: php date

我从我的数据库中提取了三条信息,年份,星期数(1-52)和星期几(星期一,星期二,星期三)。我需要将其转换为日期。

我将如何在php中执行此操作?

3 个答案:

答案 0 :(得分:1)

试试这个:

$yr="2014";
$week="01";
$day = "Mon";
echo date("Y-m-d", strtotime($yr."W".$week."D ".$day));

PHP小提琴:http://phpfiddle.org/main/code/nzg-ws6

答案 1 :(得分:1)

进行了一些挖掘,看起来这一天需要采用数字格式才能使strtotime转换正常工作。使用诸如“星期一”之类的字符串将不起作用。

$yr = "2014";
$week = "01";
$day = "1"; //Monday
echo date("Y-m-d", strtotime($yr . "W" . $week . $day)); // "2014W011"

请注意,我没有在当天包含“D”前缀,因为它看起来跟随ISO8601

将您的日子换成数字可以通过以下几种方式完成: 你可以在周一到周日创建一个数组并使用数组键,或者你可以做一些更容易的事情:

$day date("N", strtotime("Monday")); // will echo 1

所以完整的代码看起来像这样:

$yr = "2014";
$week = "01";
$day = date("N", strtotime("Monday")); //
echo date("Y-m-d", strtotime($yr . "W" . $week . $day)); // "2014W011"

以下是要检查的演示:http://3v4l.org/EllgQ

答案 2 :(得分:0)

这会将$ day值转换为所需的日期格式。 试试这个

$yr="2011";
$week="01";
$day="Monday";
$day=date("D",strtotime($day));
echo date("Y-m-d", strtotime($yr."W".$week."D ".$day));;

Demo