fre*_*hbm 5 javascript timezone momentjs
我在使用 moment.js 显示时区时遇到问题。
我尝试使用此代码:
var result = moment(someDate).format("MM/DD/YYYY HH:mm A Z");
Run Code Online (Sandbox Code Playgroud)
并且我得到回报,例如: 08/05/2015 06:18 PM +02:00,这很好,但我希望我的输出像08/05/2015 06:18 PM WEDT或类似的东西,带有时区的缩写。
尝试使用此代码,但最后我得到了空时区:
var result = moment(someDate).format("MM/DD/YYYY HH:mm A z");
Run Code Online (Sandbox Code Playgroud)
或者
var result = moment(someDate).format("MM/DD/YYYY HH:mm A zz");
Run Code Online (Sandbox Code Playgroud)
更新
因此,正如@Matt Johnson 所建议的那样,我使用这种方法使用moment-timezone-with-data.js和tzdetect.js来显示时区:
var tzName = tzdetect.matches()[0];
var result = moment.tz(myDate, tzName).format("MM/DD/YYYY h:mm A zz");
Run Code Online (Sandbox Code Playgroud)
如文档中所述:
注意:从 1.6.0 开始,z/zz 格式标记已被弃用。在此处阅读更多相关信息。
一般问题是浏览器无法通过一致的 API 获得时区缩写。为了提供它们,人们必须拥有外部数据源。
您可能想考虑使用moment-timezone插件。它提供时区信息,包括缩写。您必须知道您正在使用的特定时区。例如:
moment.tz("2015-08-05T00:00:00+01:00", "Europe/London").format("MM/DD/YYYY hh:mm A z");
// "08/05/2015 12:00 AM BST"
Run Code Online (Sandbox Code Playgroud)
此外,您不应将HH(24 小时制的小时)与A(12 小时上午/下午指示符)混合。使用hhwithA或HH不使用A.
| 归档时间: |
|
| 查看次数: |
17206 次 |
| 最近记录: |