我正在使用ngbDatepicker,这给了我JSON日期格式,例如:
{ year: 2019, month: 6, day: 9 }
如何将其转换为YYYY / MM / DD?我正在使用Angular 7。
我的代码如下:
<div class="input-group">
<input class="form-control" placeholder="YYYY-MM-DD"
(click)="d2.toggle()" (ngModelChange)="onDateSelection($event,'ToDate');" name="d2" #c2="ngModel" [(ngModel)]="toDate" ngbDatepicker #d2="ngbDatepicker">
<div class="input-group-append">
<button class="btn btn-outline-secondar"
(click)="d2.toggle()" type="button">
<i class="fa fa-calendar" aria-hidden="true"></i>
</button>
</div>
</div>
有两个重要的类来管理ngbDate。一个用于格式化日期:DateParserFormater,另一个用于更改从ngb-
datepicker获取/发送的值:DateAdapter。
因此,您可以创建一个customDateAdapter和一个customDateParserFormatter。但是,不用担心名称。只有两个可注射类,例如
对于customDateAdapter
@Injectable()
export class CustomDateAdapter {
fromModel(value: string): NgbDateStruct
{
if (!value)
return null
let parts=value.split('/');
return {year:+parts[0],month:+parts[1],day:+parts[2]}
}
toModel(date: NgbDateStruct): string // from internal model -> your mode
{
return date?date.year+"/"+('0'+date.month).slice(-2)
+"/"+('0'+date.day).slice(-2):null
}
}
是的,具有两个函数的可注入类,一个函数将NgbDate转换为字符串,另一个函数将字符串转换为NgbDate。记住,这会改变您的“模型”
对于CustomDateParserFormatter
@Injectable()
export class CustomDateParserFormatter {
parse(value: string): NgbDateStruct
{
if (!value)
return null
let parts=value.split('/');
return {year:+parts[0],month:+parts[1],day:+parts[2]} as NgbDateStruct
}
format(date: NgbDateStruct): string
{
return date?date.year+"/"+('0'+date.month).slice(-2)+"/"+('0'+date.day).slice(-2):null
}
}
同样是具有两个函数的可注入类,一个将NgbDate转换为字符串,另一个将字符串转换为NgbDate。请记住,此更改日期的“格式”-如果需要,可以使用,例如dd
/ MM / yyyy-
然后在组件中添加为提供者
providers: [{provide: NgbDateAdapter, useClass: CustomDateAdapter},
{provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter}]
在堆栈闪电查看组件的定义中,可以选择,例如
@Component({
selector: 'ngbd-datepicker-adapter',
templateUrl: './datepicker-adapter.html',
providers: [{provide: NgbDateAdapter, useClass: NgbDateNativeAdapter}]
})
要么
@Component({
selector: 'ngbd-datepicker-adapter',
templateUrl: './datepicker-adapter.html',
providers: [{provide: NgbDateAdapter, useClass: CustomDateAdapter},
{provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter}]
})
即使你可以写
@Component({
selector: 'ngbd-datepicker-adapter',
templateUrl: './datepicker-adapter.html',
providers: [{provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter}]
})
要维护{year,month,day}之类的对象,但要更改“掩码”-以及输入日期的方式
注意:您也可以将提供程序添加到模块中
我的输入值是'13/5/201412:00:00am',我需要将此格式更改为'2014-5-1300:00:00',但所有的datetime变量都是以dd-mm-yyyy格式返回的。我不想将日期转换为字符串,我希望将日期值存储在datetime属性中,并使用'yyyy-mm-dd'格式:
问题内容: 我从机器可读代码中获取日期格式为YYMMDD,如何将其更改为YYYY-MM- DD?例如我得到871223(YYMMDD)我想将其更改为1987-12-23(YYYY-MM-DD),这可能吗?谁能帮我一些示例代码? 问题答案: 该代码是这样的:
问题内容: 如何在下面转换以下日期格式(2012年11月19日星期一13:29:40) 变成: dd / mm / yyyy 问题答案: 一些JavaScript引擎可以直接解析该格式,这使任务非常容易:
我有一个日期2019-09-30,我想在dart中将其转换为2019-09-30
问题内容: 好吧,我正在使用a进行详细说明,因为我从数据库中获取了一个对象,并且从同一对象中获得了一个变量“ fecha”(日期),因此我得到了a ,因此formatt以毫秒为单位,但是我不想出现毫秒。因此,我需要将我从数据库中收到的日期格式化为没有毫秒的新日期。 这是对象Factura: 在映射到数据库的xml中,我具有该变量“ fecha”的代码: 在数据库中,该列为。 当我从数据库中获取一个
问题内容: 2012年12月1日星期六00:00:00 GMT 我必须将以上日期转换为以下格式 2012-12-01 我怎样才能? 我已经尝试使用以下方法,但无法正常工作 问题答案: 用这个。 您将获得输出为