【发布时间】:2021-03-12 14:13:13
【问题描述】:
var d = new Date();
console.log(d);
这会导致字符串为“2020 年 11 月 30 日星期一 11:16:33 GMT-0500(东部标准时间)”。我怎样才能只得到GMT-0500 (Eastern Standard Time)。有没有办法从日期对象中提取这些值。
【问题讨论】:
标签: javascript regex date
var d = new Date();
console.log(d);
这会导致字符串为“2020 年 11 月 30 日星期一 11:16:33 GMT-0500(东部标准时间)”。我怎样才能只得到GMT-0500 (Eastern Standard Time)。有没有办法从日期对象中提取这些值。
【问题讨论】:
标签: javascript regex date
getTimezoneOffset() 方法 https://www.w3schools.com/jsref/jsref_gettimezoneoffset.asp
var d = new Date();
console.log(d.getTimezoneOffset());
【讨论】:
例如使用正则表达式。
var str = 'Mon Nov 30 2020 11:16:33 GMT-0500 (Eastern Standard Time)';
var timezone = /(GMT.*\))/.exec(str);
alert(timezone[1]); // GMT-0500 (Eastern Standard Time)
或者使用substr(你知道GTM之前子串的长度)
var str = 'Mon Nov 30 2020 11:16:33 GMT-0500 (Eastern Standard Time)';
alert (str.substr(25)); // GMT-0500 (Eastern Standard Time)
【讨论】:
[1]。在[0] 中找到所有匹配项,而不是在[1]、[2] 等中找到单个匹配项。如果您只有这个短字符串(并且它不是记录器文本中的子字符串),substr 会更快。
简单的步骤 -
下面是一个sn-p供你参考-
var d = new Date().toString();
var finalD = (d.substring(d.search("GMT"), d.length));
console.log(finalD);
【讨论】: