一周的第一次约会

时间:2009-11-06 06:04:20

标签: php

我想要一周的第一天说我有第45周。现在我想要有本周第一个星期日的日期。  任何人都可以建议我如何解决这个问题吗?

谢谢

4 个答案:

答案 0 :(得分:4)

搜索一下,建议最多的是:

$year = "2009"; // date("Y");
$week = "45"; // date("W");

$firstDayOfWeek = strtotime($year."W".str_pad($week,2,"0",STR_PAD_LEFT));

print("The first day of week ".$week." of ".$year." is ".date("D, d-m-Y",$firstDayOfWeek));

基本上,这归结为让 strtotime 为您完成工作。您填写“2009W45”,它将为您检索日期。 这里的陷阱是本周需要采用2位数格式。因此第1周需要为01,因此str_pad将其填充为零。

答案 1 :(得分:1)

您应该strtotimedate功能

像这样的代码

$next_sunday = strtotime('next sunday');
$next_week = strtotime('+1 week');
$next_sunday_of_next_week = strtotime('next sunday', $next_week);

希望这会有所帮助

答案 2 :(得分:0)

如果您有月,日和年:

$timestamp = mktime(0, 0, 0, $month, $day, $year);
 echo date('c', $timestamp) = mktime(0, 0, 0, $month, date('d', $timestamp)-date('w', $timestamp), $year);
如果您有时间戳,也可以这样做:

echo $date('c', mktime(0, 0, 0, $month, date('d', $timestamp)-date('w', $timestamp), $year));

来自:http://pinoytech.org/blog/post/get-the-first-day-of-the-week-with-an-exact-date

答案 3 :(得分:0)

date($str_format, strtotime($year."W".$week."1"))

其中$str_format是根据PHP date() function的输出格式..我使用'M d Y'