我使用moment.js和moment-timezone獲取本地utc日期字符串。我已經創建了下面的功能來實現這一點。在處理阿拉伯語語言環境時,如果要使用此功能,我會返回無效的日期。在處理阿拉伯語語言環境時正確格式化本地UTC日期字符串
function _getLocalUtcDateString(utcDateString, timezoneId) {
var utcMoment = moment.utc(utcDateString, 'MM/DD/YYYY hh:mm:ss A').format('MM/DD/YYYY hh:mm:ss A');
var localTimeTz = moment.utc(utcMoment).tz(timezoneId).format('MM/DD/YYYY hh:mm:ss A');
return localTimeTz;
}
如果我用下面的參數_getLocalUtcDateString("11/2/2016 4:45:47 PM", "America/New_York")
調用它,並且設置moment.locale('ar')
它失敗,無效的日期。該問題似乎與utcMoment
,當拉格朗德是阿拉伯語,這個值等於١١/٠٢/٢٠١٦ ٠٤:٤٥:٤٧ ص
這是導致moment.utc(utcMoment).tz(timezoneId).format('MM/DD/YYYY hh:mm:ss A');
失敗。
你爲什麼要格式化字符串阿拉伯語使用美國格式?如果這是在美國的阿拉伯讀者,那麼語言環境是美國,語言是阿拉伯語。 – RobG