Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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 将对象从1开始时转换为日期_Angular_Typescript_Date_Datepicker_Bootstrap 4 - Fatal编程技术网

Angular 将对象从1开始时转换为日期

Angular 将对象从1开始时转换为日期,angular,typescript,date,datepicker,bootstrap-4,Angular,Typescript,Date,Datepicker,Bootstrap 4,我已经将angular bootstrap datepicker组件添加到我的应用程序中,当我选择日期时,我收到一个对象,看起来像:{year:1993,month:8,day:9},我想将其转换为date对象。一切都很顺利,但在转换为日期后,整个日期都被移动了:1993-09-08T22:00:00.000Z。你知道日期转换的诀窍吗 我已经调查过问题是因为开始日期编号而发生的。在角度引导中,它从1开始,但在日期对象中,它从0开始 HTML: 如果您的日期案例包含任何类型的计算或日期格式等,我建

我已经将
angular bootstrap datepicker
组件添加到我的应用程序中,当我选择日期时,我收到一个对象,看起来像:
{year:1993,month:8,day:9}
,我想将其转换为
date
对象。一切都很顺利,但在转换为日期后,整个日期都被移动了:
1993-09-08T22:00:00.000Z
。你知道日期转换的诀窍吗

我已经调查过问题是因为开始日期编号而发生的。在角度引导中,它从1开始,但在日期对象中,它从0开始

HTML:


如果您的日期案例包含任何类型的计算或日期格式等,我建议您使用moment.js

您需要先安装moment

npm install moment --save
只需导入您需要的组件

import * as moment from 'moment';

为什么不加1呢?dateOfBirth['month']+1而不是dateOfBirth['month'],因为在我看来这是一个我想省略的hack,如果您喜欢新的日期(dateOfBirth.year+'-'+dateOfBirth.month+'-'+dateOfBirth.day)或常量{year,month,day}=dateOfBirth;新日期(年+'-'+月+'-'+日)您是否提供了日期适配器?@JanTestowy,如果您想将日期作为JavaScript日期处理,可以使用提供程序:
提供程序:[{provide:NgbDateAdapter,useClass:NgbDateNativeAdapter}]
,请参见文档中的示例:。否则,请考虑ng datepicker月份从1(1=一月)开始,日期对象月份从0(0=一月)开始。此外,它还将日期定义为新日期(dateOfBirth.year,dateOfBirth.month-1,dateOfBirth.day,12)。请参见“12”以避免GTM出现问题,您可以给出一个如何使用它的示例吗?@JanTestowy,例如:矩().year(dateOfBirth['year'])。dateOfBirth['day'])。month(dateOfBirth['month']-1)
npm install moment --save
import * as moment from 'moment';