问题描述
当我要将公历日期转换为波斯日期时,会将日期转换中的分钟值转换为错误。
例如,我想将此日期时间转换为波斯日期:
2020-09-14T16:51:00+04:30
必须转换为该1399/06/24 16:51
,但是这次转换日期向我显示1399/06/24 00:06
时却错误地转换了16:51
,显示为:00:06
。
这是我转换日期的代码:
toPersianDate(date: any,format = 'YYYY/MM/DD HH:MM'): string {
let dateTime;
const MomentDate = moment(date,'YYYY/MM/DD');
dateTime = MomentDate.locale('fa').format('jYYYY/jMM/jDD HH:jMM');
return dateTime;
}
出什么问题了?我该如何解决这个问题?
解决方法
MM
用于月份格式化,因此它试图将分钟格式化为一个月。
您需要使用的是小型mm
。此外,我不是这样,因为贾拉利时间的分钟数是相同的,因此您不需要在j
之前输入mm
。
所以您实际需要的是:MomentDate.locale('fa').format('jYYYY/jMM/jDD HH:mm');
您可以详细了解格式here。