当我编辑实体时,我想将日期时间传递给表单,但格式不受尊重。在我看来我有:
def get_initial(self):
initial = {
'season': Season.objects.get(pk=self.request.session['selected_season_id']),
'start': self.object.start.strftime('%Y-%m-%d') if self.object.allday else self.object.start.strftime('%Y-%m-%d %H:%M')
}
if self.object.end is not None:
initial = {
'end': self.object.end.strftime('%Y-%m-%d') if self.object.allday else self.object.end.strftime('%Y-%m-%d %H:%M')
}
return initial
该表格有以下选项:
var picker = new tempusDominus.TempusDominus(document.getElementById(date_element_id), {
//put your config here
localization: {
startOfTheWeek: 1,
format: 'yyyy-MM-dd HH:mm',
hourCycle: 'h24'
},
restrictions: {
minDate: new Date(),
maxDate: undefined,
disabledDates: [],
enabledDates: [],
daysOfWeekDisabled: [],
disabledTimeIntervals: [],
disabledHours: [],
enabledHours: [],
}
});
picker.dates.formatInput = date => moment(date).format('yyyy-MM-DD HH:mm');
在空输入字段上,日期时间显示正确。在现有字段上,进行编辑时,格式为“12/31/2024, 16:00”
但是日期时间字符串已正确传递到表单,并且在源代码中我还看到了正确的格式,例如 '2024-12-31 16:00' 。为什么格式改变了?
我找到了解决方案在这里:
if(date_element_value !== '') {
picker.dates.formatInput = function (date) {
return moment(date).format('yyyy-MM-DD HH:mm');
}
picker.dates.setFromInput(date_element_value);
}