Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Angular 将字符串转换为8中的日期_Angular_Date_Format_Components - Fatal编程技术网

Angular 将字符串转换为8中的日期

Angular 将字符串转换为8中的日期,angular,date,format,components,Angular,Date,Format,Components,在我的角度分量中,假设我有一个字符串“16/12/2020 12:30:00”(法语格式) 如何将其转换为组件中的日期对象 expiration_date: Date; ngOnInit() { this.dateService.getOne('EXP_DATE').subscribe((data) => { this.expiration_date = new Date(data.value); }); console.log(this.expirat

在我的角度分量中,假设我有一个字符串“16/12/2020 12:30:00”(法语格式)

如何将其转换为组件中的日期对象

expiration_date: Date;
ngOnInit() {

   this.dateService.getOne('EXP_DATE').subscribe((data) => {
      this.expiration_date = new Date(data.value);
   });

    console.log(this.expiration_date);
}
我尝试了formatDate和DatePipe,但收到以下消息:

“无法将'16/12/2020 12:30:00'转换为日期”

未定义

试试下面的方法

expiration_date: Date;
ngOnInit() {

   this.dateService.getOne('EXP_DATE').subscribe((data) => {
      this.expiration_date = Date.parse(data.value);
      console.log(this.expiration_date);
   });
}
编辑: 原因可能在于您的日期格式`

注意:使用日期构造函数解析日期字符串(和 由于以下原因,强烈建议使用Date.parse(),它的工作方式相同) 浏览器差异和不一致。支持RFC2822格式 字符串仅按惯例使用。对ISO 8601格式的支持在以下方面有所不同 仅该日期字符串(例如“1970-01-01”)被视为UTC,而不是 本地的

来源:

尝试以下方法

expiration_date: Date;
ngOnInit() {

   this.dateService.getOne('EXP_DATE').subscribe((data) => {
      this.expiration_date = Date.parse(data.value);
      console.log(this.expiration_date);
   });
}
编辑: 原因可能在于您的日期格式`

注意:使用日期构造函数解析日期字符串(和 由于以下原因,强烈建议使用Date.parse(),它的工作方式相同) 浏览器差异和不一致。支持RFC2822格式 字符串仅按惯例使用。对ISO 8601格式的支持在以下方面有所不同 仅该日期字符串(例如“1970-01-01”)被视为UTC,而不是 本地的


来源:

我认为首先你必须拆分日期字符串,将其转换为日期对象,如下所示(你可以将下面的逻辑放入单独的函数中,以处理日期操作)


我认为首先你必须拆分日期字符串,将其转换为日期对象,如下所示(你可以将下面的逻辑放入单独的函数中处理日期操作)


安装
date fns
并使用
parse
功能:

import { Component } from '@angular/core';
import { parse } from 'date-fns';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  name = 'Angular';
  date: Date = null;
  ngOnInit() {
    const data = {
      value: '16/12/2020 12:30:00'
    }
    this.date = parse(data.value, 'd/M/yyyy HH:mm:ss', new Date());
  }
}


演示:

安装
日期fns
并使用
解析
功能:

import { Component } from '@angular/core';
import { parse } from 'date-fns';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  name = 'Angular';
  date: Date = null;
  ngOnInit() {
    const data = {
      value: '16/12/2020 12:30:00'
    }
    this.date = parse(data.value, 'd/M/yyyy HH:mm:ss', new Date());
  }
}


演示:

我已经试过了,但是Date.parse()返回一个数字,它不是日期;新的日期(Date.parse(data.value))也不起作用,我只是在日期操作方面非常糟糕:我已经尝试过了,但是Date.parse()返回一个数字,它不是日期;新的日期(Date.parse(data.value))也不起作用,我只是在日期操作方面非常糟糕:请试试这个<代码>新日期(数字(Date.parse(data.value))请尝试此操作<代码>新日期(编号(Date.parse(data.value)))