كنت أحاول استخدام وقت التقويم لتنسيق التواريخ الخاصة بي عن طريق تمرير وظيفة رد الاتصال. ومع ذلك ، في حالة "else" لرد الاتصال الخاص بي ، فإن شهر التاريخ المنسق غير صحيح.
Jan
إرجاع Jamn
Mar
إرجاع 3amr
Feb
إرجاع F0b
ربما أرتكب هذا الخطأ ولكن يبدو من الغريب أن يعود الشهر بهذه الطريقة دون وقوع أي أخطاء.
رمز التكاثر
export const dateConversion = (date) => {
// Assuming date comes in 'YYYY-MM-DD` format
date = moment(date, 'YYYY-MM-DD');
return date.calendar(null, {
sameDay: '[Today]',
nextDay: '[Tomorrow]',
lastDay: '[Yesterday]',
nextWeek: 'ddd',
lastWeek: 'MMM D',
sameElse: function(now) {
if (this.isSame(now, 'year')) {
return this.format('MMM D');
} else {
// Month is incorrectly parsed here
return this.format('MMM D, YYYY');
}
}
});
}
بيئة
الثلاثاء 28 مارس 2017 16:52:21 GMT-0400 (بتوقيت شرق الولايات المتحدة)
28/03/2017 ، 4:52:21 مساءً
240
Mozilla / 5.0 (Macintosh ؛ Intel Mac OS X 10_11_6) AppleWebKit / 537.36 (KHTML ، مثل Gecko) Chrome / 56.0.2924.87 Safari / 537.36
2.17.1
فما باللك - تم إرجاع قيمة خاطئة.
dbshwang لدي نفس المشكلة. هل يمكنك وضع القرار الخاص بك من فضلك
@ avi-meslati-sp يجب أن تعيد السلسلة فقط للتنسيق - وليس التاريخ المنسق الفعلي. لذلك في حالتي:
sameElse: function(now) {
if (this.isSame(now, 'year')) {
return this.format('MMM D');
} else {
return this.format('MMM D, YYYY');
}
}
يجب أن يكون في الواقع
sameElse: function(now) {
if (this.isSame(now, 'year')) {
return 'MMM D';
} else {
return 'MMM D, YYYY';
}
}
التعليق الأكثر فائدة
فما باللك - تم إرجاع قيمة خاطئة.