我如何接受打字稿中的日期字符串和格式?

问题描述 投票:1回答:2

我正在以20160229000000 ('YYYYMMDDhhmmss')的字符串格式获取日期。我必须接受字符串并使用Typescript以DD-MON-YYYY格式显示。

我不想在OJET中使用角度包(DatePipe)。

typescript date oracle-jet
2个回答
1
投票

您可以简单地使用子字符串和一个映射来表示月份名称。

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

0
投票

在浏览了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());
© www.soinside.com 2019 - 2024. All rights reserved.