在Angular 2中设置日期格式

在Angular 2中设置日期格式,angular,typescript,Angular,Typescript,我正在使用Angular2(typescript),我在键入日期时遇到问题: 我得到一个字符串,例如“26/06/2018”我需要将此字符串转换为其他字符串2018-06-26T00:00:00+01:00 我试过: let dateStart : any ; if (filterDateStart != undefined) { console.log('before' , filterDateStart); dateStart = new Date(filte

我正在使用Angular2(typescript),我在键入日期时遇到问题:

我得到一个字符串,例如“
26/06/2018
”我需要将此字符串转换为其他字符串
2018-06-26T00:00:00+01:00

我试过:

 let dateStart : any ;

  if (filterDateStart != undefined) {
      console.log('before' , filterDateStart);
      dateStart = new Date(filterDateStart).toLocaleTimeString();
      console.log('After' , dateStart); --->  ƒ toLocaleTimeString() { [native code] }
  }
  dateStart = new Date(filterDateStart.split('/').reverse().join('/'));
  dateStart = new Date(filterDateEnd).toLocaleDateString();
  dateStart =  new Date(filterDateStart).toISOString();
  dateStart = new Date(filterDateStart.split('/').reverse().toISOString('/'));
或者
dateStart=新日期(filterDateStart).toLocaleDateString()我无法获取格式
26T00:00:00+01:00

我如何解决这个问题?谢谢

更新:

我试过:

 let dateStart : any ;

  if (filterDateStart != undefined) {
      console.log('before' , filterDateStart);
      dateStart = new Date(filterDateStart).toLocaleTimeString();
      console.log('After' , dateStart); --->  ƒ toLocaleTimeString() { [native code] }
  }
  dateStart = new Date(filterDateStart.split('/').reverse().join('/'));
  dateStart = new Date(filterDateEnd).toLocaleDateString();
  dateStart =  new Date(filterDateStart).toISOString();
  dateStart = new Date(filterDateStart.split('/').reverse().toISOString('/'));

日期“2018年6月26日”不可解析,但“2018年6月26日”可解析

之后,您忘记了
()
之后的
toLocalTimeString

let dateStart = new Date('06/26/2018').toLocaleTimeString();

返回格式化的字符串。

您可以通过以下方法执行

var origDate=“26/06/2018”
var newDate=新日期(origDate.split('/').reverse().join('/');
console.log(newDate)使用momenjs将您的日期(2018年6月26日)传递到此功能中,您将
获取2016-06-26T00:00:00+01:00格式日期

public static FormatDate(d: string) {
    return  moment(d, 'DD/MM/YYYY');
}
我希望这是有帮助的。

const date=新日期(…'26/06/2018'.split('/').reverse()).toISOString();

控制台日志(日期)使用正则表达式转换格式,然后创建日期对象

new Date("26/06/2018".replace( /(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3"))

您可以使用moment.js这样的库:

下面将输出所需的格式

var date = '26/06/2018';
var dateObj = moment(date, "DD/MM/YYYY").toDate();
alert(moment(dateObj).format("YYYY/MM/DDTHH:mm:ssZ"));

输出:

现在您得到的结果是什么?我正在使用.toLocaleDateString();但我需要“26T00:00:00+01:00”这是ISO日期格式吗?或者什么?对不起,我不知道这种格式。我得到:2018年6月26日星期二00:00:00 GMT+0200(hora de verano de Europa central)新的日期将为我提供您的浏览器系统滞留时间它是give
2018年6月26日星期二00:00 GMT+0530(IST)
,但之后您可以根据需要将日期转换为任何时区。本文介绍如何转换timezone.dateStart=newdate(filterDateStart.split('/').reverse().toISOString('/');方法Split不能与字符串一起使用,而ToIOString不能与日期一起使用。。。而你在同一行中使用了所有…@EduBw为什么
split
可以在
string
上调用,而
toISOString
可以在
Date
上调用。dateStart=新日期(filterDateStart)。toLocaleTimeString();我得到-->0:00:00