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';