Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的年份、周数和截止日期_Php_Date - Fatal编程技术网

php中的年份、周数和截止日期

php中的年份、周数和截止日期,php,date,Php,Date,我从数据库中提取了三条信息:年份、周数(1-52)和星期几(周一、周二、周三)。我需要把它转换成日期 我如何在php中实现这一点?这会将$day值转换为所需的day格式。 试试这个 试试这个: $yr="2014"; $week="01"; $day = "Mon"; echo date("Y-m-d", strtotime($yr."W".$week."D ".$day)); PHP fiddle:做了一些挖掘,看来这一天需要以数字格式进行strotime转换才能正常工作。使用诸如“星期一”

我从数据库中提取了三条信息:年份、周数(1-52)和星期几(周一、周二、周三)。我需要把它转换成日期


我如何在php中实现这一点?

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

试试这个:

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

PHP fiddle:

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

$yr = "2014";
$week = "01";
$day = "1"; //Monday
echo date("Y-m-d", strtotime($yr . "W" . $week . $day)); // "2014W011"
请注意,我没有为这一天添加“D”前缀,因为接下来会出现这种情况

可以通过以下几种方式将天数转换为数字: 您可以在星期一到星期天创建一个数组,并使用数组键,或者更简单一点,您可以执行以下操作:

$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"
因此,完整代码可以如下所示:

$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"

下面是一个要检查的演示:

到目前为止您尝试了什么?非常接近重复:PHP
strotime()
可以帮您完成我尝试了:$yr=“2014”$week=“01”$“星期一”;回音日期(“Y-m-d”,标准时间($yr.$W.$week.$d.$day));结果是:2014-01-03这是错误的。因为,2014-01-3今天是星期五!我试过这个:结果是一样的:x它是错误的我也在你的参考后检查过。它是错误的。如果找到,将更新soln。