2016-04-14 43 views
0

指定本地日期和时间我有一个Android应用程序,我想在一个给定的日期和时间(所有地方)来显示通知。但是,如果我使用UTC格式是这样,我从服务器上获取通JSON:如何在Javascript

2016-04-14T11:30:00Z 

消息被同时在全球范围内显示使用此功能:

var mTime = new Date(element.dateNtime); 

我要的是在当地时间上午11:30显示消息。就像英国11:30 AM所有的用户将收到通知,但在美国的用户将收到通知,5个小时后,即11时30分本地时间(EST或其他)。

任何人都可以帮助吗?

============= UPDATE ================

我想我已经找到了解决办法,但是从下面的答案似乎是这个问题要么不太清楚,要么不被理解。下面是这种情况:

一个。我的科尔多瓦应用程序由用户在他的手机上打开 b。 App以这种格式“2016-04-14T11:30:00Z”在启动时从服务器读取字符串日期和消息。所以不存在使用新的Date()函数获取当前日期的问题。 c。基于此,该应用程序使用Cordova的通知插件为给定的日期和时间设置通知。 d。到时候通知弹出

的解决方案是使用NON-ISO格式的日期,即“‘星期三,1995年09月00:00:00’”与Date.parse()函数一起。使用上面的例子中的代码将变为:

var mTime = Date.parse(element.dateNtime); 

如果日期在该格式(“星期三,1995年09月00:00:00”)可变MTIME将包含完全相同的值提供。然而,如果日期时间在ISO格式(:30:2016-04-14T11 00Z)提供然后MTIME将包含转换成用户的语言环境的时间。

回答

0

如果您使用的是PHP服务器,你可以使用下面的代码轻松实现:

$serverdate = date("d m Y"); 
$indiantime = date('d/m/Y h:i:s A', time()+19800); 

这里变量“serverdate”返回服务器的当前日期和变量“印度时间”存储时间为印度标准时间

用于转换的时间适当的区域使用这个公式 X * 60 * 60
的“x”是GMT差异,在印度的情况下,其5.30
所以5.5 * 60 * 60 = 19800

+0

请参阅更新的问题n答案 – Anjum

0

只是实例化一个新的Date对象

var now = new Date(); 

这将创建一个客户端的本地时间的新Date对象。要显示像8:30 AM,使用

var time = new Date().toString("hh:mm tt"); 

可以使用new Date().getTimezoneOffset()/60的时区。还有一个使用用户的语言环境显示日期的toLocaleString()方法。

+0

请认真阅读更新的问题n答案 – Anjum