我有一个用PHP运行的系统并且正在使用CodeIgniter(如果有一个CI特定的答案,我会很高兴。)
我经常需要弄清楚日期的时间戳,例如"本周四"或者"本周一"。我目前使用strtotime("this Thursday")
,它给了我要求的内容。
我在EST有一台服务器。 2012年2月24日星期五,凌晨1点00分(凌晨1点),凌晨1点在纽约举行。
我有一位用户指定他的时区为太平洋时间。现在是2012年2月23日星期四晚上22:00(晚上10点)在旧金山。
我使用strtotime("this Thursday")
。由于我的服务器位于EST,它会返回2012年3月1日的时间戳。我想考虑用户的时区。对于我的用户,"本周四"应该返回2012年2月23日。
我可以使用strtotime("this Thursday")
,如果是,我该如何指定目标时区?
如果没有,你会建议采用什么方法来获得#34;本周四和#34;在特定的时区。
答案 0 :(得分:1)
manual for strtotime
直接链接到date_default_timezone_set
。我会把它作为使用它的提示。
答案 1 :(得分:1)
我只是发现strtotime需要$ now参数。我可以指定$ now param为用户时区的当前时间,strtotime返回我需要的内容。
答案 2 :(得分:0)
这是从php网站
获取的字符串<?php
date_default_timezone_set('Asia/Shanghai');
$first_day_of_month = date('Y-m',time()) . '-01 00:00:01';
$t = strtotime($first_day_of_month);
print_r(array(
date('Y-m',$t),
date('Y-m',strtotime('- 1 month',$t)),
date('Y-m',strtotime('- 2 month',$t)),
));
?>