3

我知道从 PHP 中的相对日期/时间字符串获取时间戳的两种方法:

strtotime:允许用户指定自己的 $now 值

DateTime 对象:允许用户指定自己的 $timezone 值

有没有一种方法可以从允许指定时区和 $now 值的日期/时间字符串中获取时间戳?似乎唯一的方法是使用 strtotime 同时临时覆盖整个 php 应用程序的默认时区,然后立即将其设置回来。这似乎是一个 hacky 解决方案,如果有更清洁的方法会很好。

编辑:似乎对我正在尝试做的事情有一些误解。这是一个更具体的例子:

“我想在 America/Los_Angeles 时区内找到与字符串 '下周二下午 3:00' 对应的时间戳,并为 $now 指定任意值,例如 2014 年 3 月 14 日上午 8:05。”

4

1 回答 1

2

我准备了一个例子。这可能是您想要的:

<?php

// Including the timezone int the time strings (thanks @Mike B!!!) 
// will make it very easy.  just strtotime() is required

// create a timestamp for March 14th PDT
$now = strtotime('14 March 2014 8:05am America/Los_Angeles');

// get the requested timestamp.
$nexTuesday = strtotime('next tuesday 3:00 pm America/Los_Angeles', $now);
于 2013-01-24T20:10:06.260 回答