php 查找 2010 年第 16 周的开始
php Find the start of week 16 in 2010
好的,所以我想获取 2010 年第 16 周的星期一(更准确地说是年 $year 的第 $week 周)。这是我的 test.php 文件
中的内容
$week = 16;
$year = 2010;
$dateString = $dateString = 'Start of week ' . $week . ' in ' . $year;
$date = strtotime( $dateString );
echo $date;
返回的值为假。我也尝试过使用每周的星期一...但这也给出了错误的结果。
知道如何在给定周数和年份的情况下获取日期吗?
谢谢
我建议使用内置 \DateTime
class。
受到答案here的启发,我测试了以下代码:
<?php
function getStartDate($week, $year) {
$dto = new DateTime();
$dto->setISODate($year, $week);
return $dto->format('Y-m-d');
}
$week = 16;
$year = 2010;
var_dump(getStartDate($week, $year));
这返回了以下内容:
/some/fancy/path/test.php:12:string '2010-04-19' (length=10)
星期一是一周的第一天。利用 setISODate()
<?php
$gendate = new DateTime();
$gendate->setISODate(2022,2,1); //year , week num , day
echo $gendate->format('d-m-Y'); //"prints" 10-01-2022
好的,所以我想获取 2010 年第 16 周的星期一(更准确地说是年 $year 的第 $week 周)。这是我的 test.php 文件
中的内容$week = 16;
$year = 2010;
$dateString = $dateString = 'Start of week ' . $week . ' in ' . $year;
$date = strtotime( $dateString );
echo $date;
返回的值为假。我也尝试过使用每周的星期一...但这也给出了错误的结果。
知道如何在给定周数和年份的情况下获取日期吗?
谢谢
我建议使用内置 \DateTime
class。
受到答案here的启发,我测试了以下代码:
<?php
function getStartDate($week, $year) {
$dto = new DateTime();
$dto->setISODate($year, $week);
return $dto->format('Y-m-d');
}
$week = 16;
$year = 2010;
var_dump(getStartDate($week, $year));
这返回了以下内容:
/some/fancy/path/test.php:12:string '2010-04-19' (length=10)
星期一是一周的第一天。利用 setISODate()
<?php
$gendate = new DateTime();
$gendate->setISODate(2022,2,1); //year , week num , day
echo $gendate->format('d-m-Y'); //"prints" 10-01-2022