Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种方法可以使用jquery日期时间选择器获得良好的日期格式?_Jquery_Angular - Fatal编程技术网

有没有一种方法可以使用jquery日期时间选择器获得良好的日期格式?

有没有一种方法可以使用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

我正在尝试用Angular 9.1.3和bootstrap开发一个屏幕,我想使用jquery日期时间选择器。我已经集成在屏幕上,它选择了日期,但它在字段中返回了日期,格式错误。我看过很多例子,但我没有成功地解决我的问题

在html文件中,我声明字段如下:

  <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”。