在Angular 2中设置日期格式
我正在使用Angular2(typescript),我在键入日期时遇到问题: 我得到一个字符串,例如“在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
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)新的日期将为我提供您的浏览器系统滞留时间它是give2018年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