PHP-php date(‘W’, time())可以获取本年第几周,怎么转为这周开始的时间戳?

PHP-php date(‘W’, time())可以获取本年第几周,怎么转为这周开始的时间戳?

泛泛之交 发布于 2016-12-26 字数 130 浏览 1168 回复 2

date('W', time());
可以返回今天所在周是本年第几周。

如何得到这周开始的时间戳????
有没有现成方法实现?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮生未歇 2017-04-27 2 楼

其实,稍微计算一下就出来了

echo date('Y-M-d H:i:s', mktime(0, 0, 0, 1, 1, date('Y', time())) + ((date('W', time()) - 1) * 7 * mktime(0, 0, 0, 1, 2, 1970))). "n";

其中计算出这周开始的时间戳是:

 mktime(0, 0, 0, 1, 1, date('Y', time())) + ((date('W', time()) - 1) * 7 * mktime(0, 0, 0, 1, 2, 1970)))

算法为: 当前年的时间戳 + (当前周-1)数目 * 7 * 一天时间戳总数

祝好,
斑驳敬上

夜无邪 2017-01-19 1 楼

<?php
date_default_timezone_set('Asia/Shanghai');
function getmonsun(){
$curtime=time();

$curweekday = date('w');
//为0是 就是 星期日
$curweekday = $curweekday?$curweekday:7;

$curmon = $curtime - ($curweekday-1)*86400;
$cursun = $curtime + (7 - $curweekday)*86400;

$cur['start'] = strtotime(date('Y-m-d', $curmon));
$cur['end'] = strtotime(date('Y-m-d', $cursun)) + 86400;
return $cur;
}

print_r(getmonsun());