我有以下格式的默认时间:19 Jul : 7:00pm CST
当用户访问显示此时间的页面时,我希望根据用户的当地时间将其转换为正确的时间。
有什么想法吗?
由于
答案 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();
的更多信息