我正在尝试更改moment.js设置的日期的语言。默认设置为英语,但我想设置为德语。这是我尝试过的:
var now = moment().format("LLL").lang("de");
它给了NaN
。
var now = moment("de").format("LLL");
这根本就不是反应。
var now = moment().format("LLL", "de");
没有变化:这仍然会产生一个英文结果。
这怎麽可能?
发布于 2017-07-02 02:09:54
我还必须导入语言:
import moment from 'moment'
import 'moment/locale/es' // without this line it didn't work
moment.locale('es')
然后像往常一样使用moment
alert(moment(date).fromNow())
发布于 2014-08-06 04:54:11
发布于 2017-11-28 16:00:50
2017 /2018年末:其他答案有太多的旧代码要编辑,所以这里是我的替代干净答案:
使用要求
let moment = require('moment');
require('moment/locale/fr.js');
// or if you want to include all locales:
require("moment/min/locales.min");
使用导入
import moment from 'moment';
import 'moment/locale/fr';
// or if you want to include all locales:
require("moment/min/locales.min");
使用:
moment.locale('fr');
moment().format('D MMM YY'); // Correct, set default global format
// moment.locale('fr').format('D MMM YY') //Wrong old versions for global default format
使用时区
*要求:
require('moment-range');
require('moment-timezone');
*导入:
import 'moment-range';
import 'moment-timezone';
使用区域:
const newYork = moment.tz("2014-06-01 12:00", "America/New_York");
const losAngeles = newYork.clone().tz("America/Los_Angeles");
const london = newYork.clone().tz("Europe/London");
设置日期格式的函数
const ISOtoDate = function (dateString, format='') {
// if date is not string use conversion:
// value.toLocaleDateString() +' '+ value.toLocaleTimeString();
if ( !dateString ) {
return '';
}
if (format ) {
return moment(dateString).format(format);
} else {
return moment(dateString); // It will use default global format
}
};
https://stackoverflow.com/questions/17493309
复制相似问题