在Javascript中的document.lastModified上使用toLocaleString()

时间:2015-11-24 19:59:58

标签: javascript

我在网页底部有一个小脚本,其中包含以下内容:

<script language="Javascript">
    var d = document.lastModified;
    var n = d.toLocaleString();
    document.write("These documents were last modified on: " + n +"");
</script>

但是,日期不会修改为我当地的时区。我曾尝试过其他人的系统(我们的操作系统肯定是英国英语)。知道为什么吗?

谢谢,

哈利

2 个答案:

答案 0 :(得分:0)

如果你安装了php,请检查php ini。寻找时区并改变它。

支持的时区列表

http://php.net/manual/en/timezones.php

 // php.ini example  

   [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone=Europe/Berlin

此脚本也可以使用。它为您提供设备的时区设置。 https://bitbucket.org/pellepim/jstimezonedetect

我想将此添加到我的webapps中,这样我就可以随时获得用户的时区。

// example implementation 

<script>

$(function() {
  // Get user's timezone
  var tz = jstz.determine();
  timezone = tz.name();

  $('#tz_field').attr('value', timezone);
});
</script>

答案 1 :(得分:0)

toLocaleString()使用区域设置约定将Date对象转换为字符串,但不转换为您的时区

  

WebKit以UTC格式返回时间字符串; Gecko和Internet Explorer在本地时区返回一个时间   https://developer.mozilla.org/en-US/docs/Web/API/Document/lastModified

解决方案:转换为时区:

&#13;
&#13;
var d = document.lastModified;
var date = new Date(d);
var n = date.toLocaleString();

// Short
var n = new Date(document.lastModified).toLocaleString();

// Demo:
document.body.innerHTML = n
&#13;
&#13;
&#13;