mat*_*tpm 2 datetime datetime-format momentjs
我们的日期选择器中的日期采用DD/MM/YYYY h:mm A格式。目前,我们需要明确地为 moment.js 提供一个格式,以便正确解释这个日期,如下所示:
var dateFormats = ['DD/MM/YYYY h:mm A'];
var tmp1 = moment(date, dateFormats).format('YYYY-MM-DD HH:mm');
Run Code Online (Sandbox Code Playgroud)
我们的偏好是避免硬编码日期格式,而是能够按如下方式应用语言环境:
var locale = (window.navigator.userLanguage || window.navigator.language).toLowerCase();
moment.locale(locale);
var tmp1 = moment(date).format('YYYY-MM-DD HH:mm');
Run Code Online (Sandbox Code Playgroud)
当前,执行以下操作(在应用上述语言环境后):
moment('15/12/2016 2:27 PM').format('YYYY/MM/DD h:mm A');
Run Code Online (Sandbox Code Playgroud)
给出:
"2017/03/12 2:27 PM"
Run Code Online (Sandbox Code Playgroud)
当它需要给:
"2016/12/15 2:27 PM"
Run Code Online (Sandbox Code Playgroud)
我们怎样才能做到这一点?
如果您的输入字符串具有特定于语言环境的格式,您可以使用 moment'slocaleData
来解析它。使用longDateFormat(dateFormat);
您可以获得本地化格式。
这是一个使用 en-au 语言环境的工作示例:
moment.locale('en-au');
var input = '15/12/2016 2:27 PM';
var s = moment(input).format('YYYY/MM/DD h:mm A'); // Gives Deprecation warning
console.log(s); // Invalid date
// Get locale data
var localeData = moment.localeData();
var format = localeData.longDateFormat('L') + ' ' + localeData.longDateFormat('LT');
s = moment(input, format).format('YYYY/MM/DD h:mm A');
console.log(s); // 2016/12/15 2:27 PM
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.0/moment-with-locales.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4931 次 |
最近记录: |