如何使用javascript将时间戳字符串转换为本地时间

How to convert a timestamp string to local time using javascript?

本文关键字:时间 转换 字符串 何使用 javascript 时间戳      更新时间:2023-09-26

我有一个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

时区偏移量是UTC和UTC之间的差,以分钟为单位当地时间。请注意,这意味着偏移量为正,如果本地时区落后于UTC,如果领先则为负值。例如,如果你的时区是UTC+10(澳大利亚东部标准时间),-600将被归还。日光节约时间可以防止此值为一个常量,即使对于给定的区域

用JavaScript自动检测时区 编辑:

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/