有没有一种方法可以使用jquery日期时间选择器获得良好的日期格式?
我正在尝试用Angular 9.1.3和bootstrap开发一个屏幕,我想使用jquery日期时间选择器。我已经集成在屏幕上,它选择了日期,但它在字段中返回了日期,格式错误。我看过很多例子,但我没有成功地解决我的问题 在html文件中,我声明字段如下:有没有一种方法可以使用jquery日期时间选择器获得良好的日期格式?,jquery,angular,Jquery,Angular,我正在尝试用Angular 9.1.3和bootstrap开发一个屏幕,我想使用jquery日期时间选择器。我已经集成在屏幕上,它选择了日期,但它在字段中返回了日期,格式错误。我看过很多例子,但我没有成功地解决我的问题 在html文件中,我声明字段如下: <div class="form-group row"> <label for="startDate" class="col-sm-2 col-form-label" i18n="@@startDate">S
<div class="form-group row">
<label for="startDate" class="col-sm-2 col-form-label" i18n="@@startDate">Start date</label>
<div id="startDatePicker" class="col-sm-3 input-append date">
<input data-format="dd/MM/yyyy hh:mm" type="text" class="form-control onlyDateTime" formControlName="startDate"
(click)="selectDate($event)">
</div>
<span class="input-group-addon">
<span class="fa fa-calendar"></span>
</span>
</div>
selectDate(event: Event) {
const pickerOpts = {
dateFormat: 'yyyy/MM/dd hh:mm',
};
$('.onlyDateTime').datetimepicker(pickerOpts);
}
但选取器返回英文日期格式:yyyy/MM/dd hh:MM
我曾尝试在日期时间选择器选项中设置“fr fr”,但我始终存在相同的问题。文档中的状态表明,默认情况下,它使用php日期格式化程序来格式化日期。因此,您需要的是:
format:'d/m/Y H:i'
在变量中,选择pts
以根据需要格式化日期
这是一个不同格式选项的列表,您可以为
datetimepicker
选择不同的格式,我尝试过您的建议,但问题总是一样的。我已修改我的函数,如下所示:
selectDate(event: Event) {
var dateTmp: Date;
const pickerOpts = {
dateFormat: 'd/m/Y H:i',
};
$('.onlyDateTime').datetimepicker(pickerOpts);
$('.onlyDateTime').change((selectedDate) => {
if (selectedDate !== undefined) {
dateTmp = $(this)[0].editedItem.startDate;
console.log('Date inside: ' + dateTmp);
}
});
console.log('Date Outside: ' + dateTmp);
}
jquery函数中的日期很好。外部日期始终未定义。这是一种从外部获取jquery函数内部变量值的方法。使用此值,我可以使用@angular/common提供的DatePipe transformer设置日期格式。如果您在浏览器中使用,则可以使用 要获得更好的支持,请使用momentjs:
const格式=(d)=>{
返回d.toLocaleDateString(“fr”{
年份:“数字”,
月份:“数字”,
日期:“数字”,
小时:“数字”,
分钟:“数字”,
第二:“数字”,
});
};
log(格式(newdate())
日期选择器是否实际将日期显示为dd/MM/yyyy hh:MM
?好的,您在HTML中声明了dd/MM/yyyy hh:MM
,但在日期选择器中声明了yyy/MM/dd hh:MM
。你想要哪一个?我想要格式“dd/MM/yyyy hh:MM”。在pickerOpts中,我尝试了不同的格式,但日期的格式始终为“yyy/MM/dd hh:MM”。