[英]Can't format using moment.js
I am trying to format a array of dates using moment.js
but I get an error stating 我正在尝试使用
moment.js
格式化日期数组,但出现错误提示
dayOfWeek.format is not a function
dayOfWeek.format不是函数
I am correctly imported 我已正确输入
var startOfWeek = moment().startOf('isoWeek');
var endOfWeek = moment().endOf('isoWeek');
var days = [];
var day = startOfWeek;
while (day <= endOfWeek) {
days.push(day.toDate());
day = day.clone().add(1, 'd');
}
var week = days.map(function(dayOfWeek, i){
console.log(dayOfWeek);
dayOfWeek.format("dddd, DD-MM-YYYY")
});
moment().format()
function usage is not correct . moment().format()
函数用法不正确 。
Current is: 当前是:
dayOfWeek.format("dddd, DD-MM-YYYY")
Change to: 改成:
moment(dayOfWeek).format("dddd, DD-MM-YYYY")
Check here for more information: https://momentjs.com/docs/#/parsing/string-formats/ 在此处查看更多信息: https : //momentjs.com/docs/#/parsing/string-formats/
dayOfWeek = moment(dayOfWeek).format("dddd, DD-MM-YYYY");
Your code will fail because dayOfWeek
is not moment
object. 您的代码将失败,因为
dayOfWeek
不是moment
对象。
To check if your variable is moment
object use .isMoment
: 要检查您的变量是否是
moment
对象,请使用.isMoment
:
moment.isMoment(dayOfWeek)
. moment.isMoment(dayOfWeek)
。
To fix your problem simply replace 要解决您的问题,只需更换
dayOfWeek.format("dddd, DD-MM-YYYY")
with 同
moment(dayOfWeek).format("dddd, DD-MM-YYYY")
You are also missing return
statement inside .map
function. 您还缺少
.map
函数中的return
语句。
Working example: 工作示例:
var startOfWeek = moment().startOf('isoWeek'); var endOfWeek = moment().endOf('isoWeek'); var days = []; var day = startOfWeek; while (day <= endOfWeek) { days.push(day.toDate()); day = day.clone().add(1, 'd'); } var week = days.map(function(dayOfWeek, i){ return moment(dayOfWeek).format("dddd, DD-MM-YYYY") }); console.log(week);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
Just a tip, You can also do this 提示,您也可以这样做
var currentDate = moment(new Date()); // pass your date obj here. console.log(currentDate.format('DD-MM-YY HH:mm:ss')); // later simply do this.
<script src="https://unpkg.com/moment@2.22.2/min/moment.min.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.