6

我正在尝试获取LocaleDateStringLocaleTimeString这将是toLocaleString()但 LocaleString 为您提供GMT+0100(GMT 夏令时),我不会显示它。

我可以使用类似的东西:

timestamp = (new Date()).toLocaleDateString()+toLocaleTimeString();

非常感谢

4

2 回答 2

18

您可以按原样使用本地日期字符串,只需调整小时、分钟和秒。

此示例用前导 0 填充单个数字并调整上午/下午的小时数。

function timenow() {
  var now = new Date(),
    ampm = 'am',
    h = now.getHours(),
    m = now.getMinutes(),
    s = now.getSeconds();
  if (h >= 12) {
    if (h > 12) h -= 12;
    ampm = 'pm';
  }

  if (m < 10) m = '0' + m;
  if (s < 10) s = '0' + s;
  return now.toLocaleDateString() + ' ' + h + ':' + m + ':' + s + ' ' + ampm;
}
console.log(timenow());

于 2011-07-27T01:55:57.927 回答
9

如果您使用 vanilla 方法构建字符串,它将自动进行语言环境(和 TZ)转换。

例如

var dNow = new Date();
var s = ( dNow.getMonth() + 1 ) + '/' + dNow.getDate() + '/' + dNow.getFullYear() + ' ' + dNow.getHours() + ':' + dNow.getMinutes();
于 2011-07-27T00:39:13.957 回答