来自PHP时间的JavaScript可读日期/时间()

Lyo*_*yon 13 javascript php datetime

是否有可能让JavaScript计算从PHP time()函数返回的时间戳,并以可读格式呈现,例如"Sun,2010年4月18日下午4:00"?

Gum*_*mbo 27

使用Date对象执行此操作:

new Date(<?php echo time(); ?>*1000)
Run Code Online (Sandbox Code Playgroud)

您需要将Unix时间戳乘以1000,因为Date期望时间戳以毫秒为单位.

要格式化日期,您可以使用此Date.format方法(日期没有内置).


Poi*_*nty 5

做这些事情时你需要非常小心。当您采用传统的“自纪元边界以来的秒数(或毫秒)”值的服务器端时间值,然后将其转换为某种“日期”对象时,就会发生转换为适合的时区上下文的区域设置。

当你有一台位于芝加哥的服务器,而夏威夷的某人使用你的网站时,比如在一场派对之后,问题就出现了——毫无疑问,这是一场“烤猪宴”,里面有烤猪和穿着草裙的舞女,温暖的热带天空下难得的夜晚,海风中弥漫着异域风情的花朵——现在已经很晚了。天哪,已经快半夜了!当我写信给她关于聚会的事情时,妈妈会怎么想?

我们的聚会常客会在晚上 11:30 坐下来使用您的网站。当然,现在位于夏威夷东部相当远的地方,服务员认为现在是凌晨 5:30,而该日期比我们的聚会常客在给妈妈的快速便条中记下的日期晚了一天。因此,您的服务器将其时间值写入网页,如此处答案中所述,并且正确的是,夏威夷当地时间显示在我们聚会常客的酒店房间的页面上。

问题是这样的:如果当地时间从某个表单字段返回到您的应用程序,并且您的应用程序将其视为芝加哥当地时间,那么您的网站将获得昨天的日期。根据您的应用程序,可以或不可以 - 关键是,您必须跟踪日期(以普通日历表示法表示)来自与使用日期的位置。

当然,你也可能会遇到相反的问题。也就是说,如果您的服务器始终在其本地时区中呈现日期,那么世界其他地方的用户将看到令人困惑的(显然是错误的)日期和时间值,因此界面必须明确这些值的含义。当您的站点提供涉及时间表的服务时,这些问题就变得很重要。如果可以安排操作,那么界面保持正常状态就很重要,以便“4 月 30 日晚上 10:00”表示服务器上的日期和时间或安排安排的区域设置中的日期和时间。无论是哪种情况,您都必须小心保持一致。