我有一个JSP页面,其中我将时间戳作为字符串存储在数据库中,其形式为Thu Aug 21 2014 22:09:23 GMT+0530 (India Standard Time)
。
当然,我能够显示它,因为它是在页面中,但是我正在寻找一个解决方案在javascript中,将使我转换这个时间戳为每个用户的本地时区。
有办法做到这一点吗?或者对于这样的时间戳是不可能的?任何帮助是非常感谢,好吧,我的问题可能听起来很傻,因为我还在熟悉自己的javascript。
谢谢
我自己弄清楚了,我能够完成我需要的。将timestamp
从数据库传递到var new Date(timestamp)
,使其转换为本地时间,它还负责时区和偏移量。专家们,感谢您的宝贵时间!:)
你可以试试这个
var timezone = new Date().getTimezoneOffset();
从MDN 用JavaScript自动检测时区 编辑:时区偏移量是UTC和UTC之间的差,以分钟为单位当地时间。请注意,这意味着偏移量为正,如果本地时区落后于UTC,如果领先则为负值。例如,如果你的时区是UTC+10(澳大利亚东部标准时间),-600将被归还。日光节约时间可以防止此值为一个常量,即使对于给定的区域
var d = new Date(myYear, myMonth, myDate);
d.setTime( d.getTime() + d.getTimezoneOffset()*60*1000 );
如果你打算使用AngularJS,将1408648665转换为Thu, 21 Aug 2014 19:17:45 GMT会更容易和直接
//html
<div ng-controller="TimeCtrl">
Date: {{timeStamp + '000' | date: 'medium'}}
</div>
//js
var app = angular.module('myApp', []);
app.controller('TimeCtrl', function time($scope) {
$scope.timeStamp = 1408648665;
console.log("hello");
});
小提琴:http://jsfiddle.net/hq0ry1vm/2/