如何在PHP(多平台)中获取给定周数的第一天?

Ama*_*s45 9 php

在PHP中最简单的方法是什么?

我想要一周给定周数的星期一日期(例如:2009年第3周)

谢谢 !

编辑:如果你只使用Linux机器,使用cletus的解决方案,但我正在寻找可以在Windows和Linux上工作的东西.

ros*_*nbh 46

它在PHP 5.3上很简单

echo date('M d',strtotime('2013W15'));
Run Code Online (Sandbox Code Playgroud)

其中15是周数.但对于低于10的数字,请确保第一周和第二周的格式为01,02.


Ala*_*avi 12

又一个解决方案:

<?php
        $week = 3;
        $year = 2009;

        $timestamp = mktime( 0, 0, 0, 1, 1,  $year ) + ( $week * 7 * 24 * 60 * 60 );
        $timestamp_for_monday = $timestamp - 86400 * ( date( 'N', $timestamp ) - 1 );
        $date_for_monday = date( 'Y-m-d', $timestamp_for_monday );
?>
Run Code Online (Sandbox Code Playgroud)


小智 6

以一种干净的方式获得它的一个好方法是使用php DateTime类.

$year = 2015;
$week_no = 1;

$date = new DateTime();
$date->setISODate($year,$week_no);
echo $date->format('d-M-Y'); 
Run Code Online (Sandbox Code Playgroud)

这将导致:29-12-2014