将默认日期转换为另一个日期(用户的本地时区)

时间:2014-04-21 03:55:53

标签: javascript jquery

我有以下格式的默认时间:19 Jul : 7:00pm CST

当用户访问显示此时间的页面时,我希望根据用户的当地时间将其转换为正确的时间。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

首先,您需要输出您希望它出现的日期,但请务必指定其时区(我在这里使用GMT,但您可以使用UTC等)。然后将其与当地加载时间交换(如果提供了原始时区,则由JavaScript自动处理)。

<div id="timestamp">April 21, 2014 6:00 pm GMT</div>
<script type="text/javascript">
    var timestamp = document.getElementById('timestamp'),
        t         = new Date(timestamp.innerHTML),
        hours     = t.getHours(), 
        min       = t.getMinutes() + '', 
        pm        = false,
        months    = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];

    if(hours > 11){
       hours = hours - 12;
       pm = true;
    }

    if(hours == 0) hours = 12;
    if(min.length == 1) min = '0' + min;

    timestamp.innerHTML = months[t.getMonth()] + ' ' + t.getDate() + ', ' + t.getFullYear() + ' ' + hours + ':' + min + ' ' + (pm ? 'pm' : 'am');
</script>

答案 1 :(得分:0)

您可以使用.toLocaleTimeString()

.toLocaleString()方法使用区域设置将Date对象转换为字符串。

var d = new Date();
var n = d.toLocaleString();

有关Date Object

的更多信息