我正在以20160229000000 ('YYYYMMDDhhmmss')
的字符串格式获取日期。我必须接受字符串并使用Typescript以DD-MON-YYYY
格式显示。
我不想在OJET中使用角度包(DatePipe)。
您可以简单地使用子字符串和一个映射来表示月份名称。
const format = (value: string): string => {
const year = value.substr(0, 4);
const month = value.substr(4, 2);
const day = value.substr(6, 2);
const months = {'01':'JAN','02':'FEB','03':'MAR','04':'APR','05':'MAY','06':'JUN','07':'JUL','08':'AUG','09':'SEP','10':'OCT','11':'NOV','12':'DEC'};
return day + '-' + months[month] + '-' + year;
};
format('20160229000000'); // 29-FEB-2016
在浏览了OJEt包之后,我选择使用IntlConverterUtils.dateToLocalIso,它接受字符串并为我提供了在TypeScript中使用的灵活性。
let dateString = '20160229000000';
let date = IntlConverterUtils.dateToLocalIso(new Date(dateString.substr(0, 4) + '-' + dateString.substr(4, 2) + '-' + dateString.substr(6, 2)));
datevalue(new Date(date).toShortFormat());