Php 周号打印日期输出

Php 周号打印日期输出,php,datetime,week-number,Php,Datetime,Week Number,大家好 如果我有第42周,我需要知道这周有哪些日期,sombardy maby能告诉我一个获取这些信息的简单方法吗 坦克很多:)有一个(星期一)使用一年中的一周和一年。这会对你有所帮助。有一个(星期一)使用一年中的一周和一年。那应该对你有帮助 <?php $date = new DateTime('2009W52'); echo $date->format(DateTime::RFC850); 你可以像这样修改它 $date->modify("last monday"); $

大家好

如果我有第42周,我需要知道这周有哪些日期,sombardy maby能告诉我一个获取这些信息的简单方法吗

坦克很多:)

有一个(星期一)使用一年中的一周和一年。这会对你有所帮助。

有一个(星期一)使用一年中的一周和一年。那应该对你有帮助

<?php
$date = new DateTime('2009W52');
echo $date->format(DateTime::RFC850);
你可以像这样修改它

$date->modify("last monday");
$date->modify("next monday");
第1-9周必须为零填充

你可以像这样修改它

$date->modify("last monday");
$date->modify("next monday");

第1-9周的周数必须为零,我知道您已经接受了答案,但我觉得这段代码也很有用

$year = date("Y");
$week = date("W"); // Can be replaced with '42' for your example.
$start = strtotime($year.'W'.$week.'1');
这将返回一个unix时间戳,有些人认为它更容易操作

您也可以将其用于PHP5.1及更高版本

$start = date(datetime::ISO8601, strtotime("2009W421"));
使用上述方法,您可以轻松格式化它

希望这对别人有用


-马修

我知道你已经接受了答案,但我觉得这段代码也很有用

$year = date("Y");
$week = date("W"); // Can be replaced with '42' for your example.
$start = strtotime($year.'W'.$week.'1');
这将返回一个unix时间戳,有些人认为它更容易操作

您也可以将其用于PHP5.1及更高版本

$start = date(datetime::ISO8601, strtotime("2009W421"));
使用上述方法,您可以轻松格式化它

希望这对别人有用


-Mathew

date()有一些限制,比如不能超过1970-01-01。内置的DateTime类修复了大多数这类问题。你的意思是低于1970?谢谢你的评论,我今天学到了一些新东西。date()有一些限制,比如不能超过1970-01-01。内置的DateTime类修复了大多数这类问题。你的意思是低于1970?谢谢你的评论,我今天学到了一些新东西。