我正在使用owl-date-time
来获取日期和时间的角度。
它返回数据和时间格式为:2018-08-20T07:37:09.000Z
有没有一种方法可以将格式修改为:2018-08-20 09:37
很高兴能得到任何帮助。
答案 0 :(得分:1)
我知道这有点矫kill过正,但是您可以像这样使用moment.js:
console.log(new moment(`2018-08-20T07:37:09.000Z`).format('YYYY-MM-DD hh:mm'));
<script src="https://momentjs.com/downloads/moment.js"></script>
但是,如果您希望输出字符串完全相同,请执行以下操作:
let input = '2018-08-20T07:37:09.000Z';
let date = new moment(input).format('YYYY-MM-DD');
let time = (a => `${a[2]}:${a[1]}`)(input.split('T')[1].split(':').map(s => s.slice(0,2)));
console.log(`${date} ${time}`);
<script src="https://momentjs.com/downloads/moment.js"></script>
答案 1 :(得分:0)
有一个 momentjs 集成:
npm install ng-pick-datetime-moment moment --save
完成此操作后,您可以在OWL_DATE_TIME_FORMATS
中使用矩量格式字符串。 from the docs示例:
import { NgModule } from '@angular/core';
import { OwlDateTimeModule, OWL_DATE_TIME_FORMATS} from 'ng-pick-datetime';
import { OwlMomentDateTimeModule } from 'ng-pick-datetime-moment';
// See the Moment.js docs for the meaning of these formats:
// https://momentjs.com/docs/#/displaying/format/
export const MY_MOMENT_FORMATS = {
parseInput: 'l LT',
fullPickerInput: 'l LT',
datePickerInput: 'l',
timePickerInput: 'LT',
monthYearLabel: 'MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'MMMM YYYY',
};
@NgModule({
imports: [OwlDateTimeModule, OwlMomentDateTimeModule],
providers: [
{provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS},
],
})
export class AppExampleModule {
}
您要查找的格式为'YYYY-MM-DD HH:mm'
:
console.log(moment().format('YYYY-MM-DD HH:mm'))
<script src="https://momentjs.com/downloads/moment.js"></script>
答案 2 :(得分:0)
正如其他人所述,moment.js是一个过大的杀伤力。出于格式化目的,您可以使用普通的javascript。
time = new Date('2018-08-20T07:37:09.000Z').toLocaleString().split(',')[1];
console.log(time)
time = time.split('').splice(0,6).join('');
date ='2018-08-20T07:37:09.000Z'.split('T')[0];
console.log(date + time)