获取 UNIX 时间戳的正确小时

发布于 2024-10-12 20:42:55 字数 487 浏览 7 评论 0原文

我认为这是一个愚蠢的问题,但似乎我找不到答案。

我有这个时间戳:1295598602。

在我的 php 脚本中,我有:

$date = date('Ymd', 1295598602); $小时 = 日期('H', 1295598602) 。 ':00';

这将返回:

日期:2011-01-21
时间:03:00

现在我去了一个在线转换网站来测试这一点。我使用了这个。 但对于这个时间戳值来说似乎是

2011 年 1 月 21 日星期五 08:30:02 GMT

现在,哪一个是正确的?

I think this is a stupid question, but seems that I cannot find the answer.

I have this timestamp: 1295598602.

In my php script I have:

$date = date('Y-m-d', 1295598602);
$hour = date('H', 1295598602) . ':00';

This returns:

Date: 2011-01-21
Hour: 03:00

Now I went to an online conversion site to test this. I used this one.
But it seems that for this timestamp value it is

Fri, 21 Jan 2011 08:30:02 GMT

Now, which one is correct?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

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

评论(5

樱桃奶球 2024-10-19 20:42:55

使用正确的时区:

>> date_default_timezone_get();
'UTC'
>> date('Y-m-d h:i:s',1295598602);
'2011-01-21 08:30:02'
>> date_default_timezone_set('CET');
true
>> date('Y-m-d h:i:s',1295598602);
'2011-01-21 09:30:02'
>> date_default_timezone_set('UTC');
true
>> date('Y-m-d h:i:s',1295598602);
'2011-01-21 08:30:02'

Use correct timezone:

>> date_default_timezone_get();
'UTC'
>> date('Y-m-d h:i:s',1295598602);
'2011-01-21 08:30:02'
>> date_default_timezone_set('CET');
true
>> date('Y-m-d h:i:s',1295598602);
'2011-01-21 09:30:02'
>> date_default_timezone_set('UTC');
true
>> date('Y-m-d h:i:s',1295598602);
'2011-01-21 08:30:02'
撞了怀 2024-10-19 20:42:55

在 GMT / UTC 中(它们几乎但不完全完全是相同)该时间戳确实是 2011 年 1 月 21 日星期五 08:30:02 GMT。

如果您位于不同的时区但始终需要 GMT,则需要使用 gmdate() 函数而不是 date()

In GMT / UTC (they're almost but not quite exactly the same) that timestamp is indeed Fri, 21 Jan 2011 08:30:02 GMT.

If you're in a different timezone but always want GMT you'll need to use the gmdate() function instead of date().

絕版丫頭 2024-10-19 20:42:55

两者都是正确的。在代码片段中,PHP 根据时区进行调整。尝试 date_default_timezone_set('UTC'); 获取正确的未调整值。

Both are correct. In the code snippet PHP adjusts for timezone. Try date_default_timezone_set('UTC'); to get proper unadjusted values.

柠檬色的秋千 2024-10-19 20:42:55

另一个选项是为脚本设置默认时区。

例如,

date_default_timezone_set('Europe/London');
$timestamp = '1295598602';
echo date('Y-m-d H:i:s', $timestamp);

会给您带来与在线转换工具显示的相同结果。

PHP 中有许多与时区相关的函数,可以让您修改显示的时区。

您可以查看 PHP 文档以获取选项列表:http://www. php.net/manual/en/ref.datetime.php

Another option is to set the default timezone for your script.

For example,

date_default_timezone_set('Europe/London');
$timestamp = '1295598602';
echo date('Y-m-d H:i:s', $timestamp);

would get you the same result as the online conversion tool is showing.

There are a number of timezone-related function in PHP that will allow you to modify which time zone is being shown.

You can check the PHP docs for a list of your options: http://www.php.net/manual/en/ref.datetime.php

猥︴琐丶欲为 2024-10-19 20:42:55

根据 date() 函数说明,

时间戳是可选的,默认为
time() 的值。

根据 time() 函数描述,它返回 GMT 时间戳。

因此,PHP 会转换为您的时区,而 onlineconversion.com 则不会。

According to date() function description,

timestamp is optional and defaults to
the value of time().

And according to time() function description, it returns GMT timestamp.

So, PHP does conversion to your time zone, while onlineconversion.com does not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文