我在弹出模式中有一个DateTime字段,如下所示,它只能显示时间部分:
HTML:
<div class='input-group date'>
<input class="form-control" type="datetime" #RequiredByDate name="RequiredByDate" [value]="formatDate(hitchRequest.requiredByDate, 'LT')" required>
<span class="input-group-addon">
<span class="fa fa-clock-o"></span>
</span>
</div>
TS:
formatDate(date: any, format: string): string {
if (!date) {
return '';
}
return moment(date).format(format);
}
onShown(): void {
$(this.requiredByDate.nativeElement).datetimepicker({
locale: abp.localization.currentLanguage.name,
format: 'LT',
});
}
当我设置DateTime并点击保存按钮时,momentjs真正将其转换为UTC时间并将其发送到服务器,最终以UTC时间保存在DB中。 我的问题是关于何时从服务器向现场读取数据。我假设moment.js会将它重新转换回本地时区,就像它设置其值时所做的那样,似乎并非如此!
非常感谢任何输入:)
答案 0 :(得分:0)
我最终将formatDate方法更改为以下内容:
formatDate(date: any, format: string): string {
return moment.utc(date.toString()).local().format(format);
}
它显示从DB获取值的本地时间,但现在问题是更新其值时。当我保存表单时,它会将日期视为当地时间,每次从中扣除10:30,然后发送到服务器!
以下是该方案: