首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP - strtotime,指定时区

PHP - strtotime,指定时区
EN

Stack Overflow用户
提问于 2010-08-26 02:21:03
回答 6查看 100.1K关注 0票数 63

我有一个日期字符串,比如'2008-09-11‘。我想从中获得一个时间戳,但我需要动态地指定一个时区(而不是PHP默认时区)。

简单地说,我有两个字符串:

代码语言:javascript
复制
$dateStr = '2008-09-11';
$timezone = 'Americas/New_York';

我怎么才能得到这个的时间戳?

编辑:当天的时间将是当天的午夜...$dateStr = '2008-09-11 00:00:00';

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-08-26 02:24:17

代码语言:javascript
复制
$date = new DateTime($dateStr, new DateTimeZone($timezone));

$timestamp = $date->format('U');

票数 89
EN

Stack Overflow用户

发布于 2013-07-31 21:31:59

如果你运行的是PHP > 5.2 (我认为这就是他们添加的DateTime类的版本),那么公认的答案是很棒的。如果你想支持一个旧版本,你不想输入那么多,或者如果你只是喜欢函数式的方法,还有另一种方法也不需要修改全局设置:

代码语言:javascript
复制
$dateStr = '2008-09-11 00:00:00';
$timezone = 'America/New_York';
$dtUtcDate = strtotime($dateStr. ' '. $timezone);
票数 33
EN

Stack Overflow用户

发布于 2010-08-26 02:26:44

如果出于某些原因,你使用的是<5.2 (天不允许),这将会起作用。

代码语言:javascript
复制
$reset = date_default_timezone_get();
date_default_timezone_set('America/New_York');
$stamp = strtotime($dateStr);
date_default_timezone_set($reset);

但是任何5.2及以上版本,我强烈建议你选择@salathe的答案。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3569014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档