我使用了angular4和moment.js。我的自定义格式为: - ' MM / DD / YYYY H:MM am / pm'我不知道如何使用这种格式。
Component.ts: -
import * as moment from 'moment';
ngOnInit() {
moment(1503491583*1000).format('MM/DD/YYYY H:MM am/pm');
}
输出: - 08/23/2017 18:08 pm3 / p3
此输出错误。请告诉我们如何获得输出是' 08/23/2017 18:08 pm'
答案 0 :(得分:3)
只需使用a
令牌,请参阅format()
文档。
请注意,您必须使用小写mm
来获取分钟数,而大写MM
则需要数月。
import * as moment from 'moment';
ngOnInit() {
moment(1503491583*1000).format('MM/DD/YYYY H:mm a');
}
您收到pm3/p3
因为am/pm
被解释为:
a
=> am
或pm
(pm
为您的情况)m
作为分钟(在您的情况下为3
)p
作为p
字符作为旁注,片刻具有moment.unix(Number)
方法来解析自Unix Epoch以来的秒数,并且文档说:
这实现为
moment(timestamp * 1000)
,因此包含输入时间戳中的部分秒。
您可以使用moment.unix(503491583)
代替moment(1503491583*1000)
来获得相同的结果。
答案 1 :(得分:0)
import { MAT_MOMENT_DATE_FORMATS, MomentDateAdapter } from '@angular/material-moment-adapter';
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
import * as moment from 'moment';
@Component({
selector: 'app-user-details',
templateUrl: './user-details.component.html',
styleUrls: ['./user-details.component.scss'],
providers: [
{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
{ provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS },
// {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},
],
})
export class UserDetailsComponent implements OnInit {
userDetailsFormGroup = this.fb.group({
firstName: [''],
lastName: [''],
username: [''],
address: ['', Validators.required],
dob: [moment(), Validators.required],
gender: ['', Validators.required],
contactNumber: ['', Validators.required],
});
updateUserProfile() {
const dobDate = this.userDetailsFormGroup.controls.dob.value;
const momentDOB1 = dobDate.format('MM/DD/YYYY');
const body = {
'firstName': this.userDetailsFormGroup.controls.firstName.value,
'lastName': this.userDetailsFormGroup.controls.lastName.value,
'address': this.userDetailsFormGroup.controls.address.value,
'dob': momentDOB1,
'gender': this.userDetailsFormGroup.controls.gender.value,
'contactNumber': this.userDetailsFormGroup.controls.contactNumber.value
};
// call http method here
}
getUserProfileData(){
//get http
this.http.get<any>(AppSettings.BASE_URL + '/v1/userProfile/getMyProfile').pipe()
.subscribe(
data => {
const dateDob = moment(data.dob, 'MM/DD/YYYY');
console.log('getting date format :::');
console.log(dateDob.toISOString());
this.userDetailsFormGroup.controls.dob.setValue(dateDob);
}
);
}