php日期转换

时间:2011-02-22 18:45:29

标签: php

我如何转换格式如下:

13 hours and 4 mins ago

我可以在php中使用进一步转换的东西吗?

5 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

从当前服务器时间获取unix时间戳: $timestamp = strtotime("-13 hours 4 minutes");

答案 2 :(得分:0)

尝试使用DateInterval类 - http://www.php.net/manual/en/class.dateinterval.php - 然后可以从常规DateTime对象中调用sub()。

答案 3 :(得分:0)

这样做很难:

$offset = (time() - ((60 * 60) * 13) + (4 * 60));

工作示例:http://codepad.org/25CJPL76

说明:

(60 * 60)为1小时,然后* 13为13小时,加上(4 * 60)为4分钟,减去当前时间。

我通常做的是创建几个常量来定义特定时间值的值,如下所示:

define("NOW",time());
define("ONE_MIN", 60);
define("ONE_HOUR",ONE_MIN * 60);
define("ONE_DAY", ONE_HOUR * 24);
define("ONE_YEAR",ONE_DAY * 365);

然后执行以下操作:

$offset = (NOW - ((ONE_HOUR * 13) + (ONCE_MIN * 4)));

关于实际解析字符串,你应该看一下javascript函数并转换为PHP,源代码可以从PHP.JS获得:

http://phpjs.org/functions/strtotime:554

答案 4 :(得分:-1)

稍后使用strtotime()和date(),例如:

$thetime = strtotime('13 hours 4 minutes ago');
$thedate = date('Y-m-d', $thetime);