【问题标题】:How Can I accept date string and format in typescript?如何在打字稿中接受日期字符串和格式?
【发布时间】:2020-05-11 14:24:30
【问题描述】:

我得到一个字符串格式的日期为20160229000000 ('YYYYMMDDhhmmss')。 我必须接受字符串并使用 Typescript 以 DD-MON-YYYY 格式显示。

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

【问题讨论】:

  • 你可以使用正则表达式来获取日期的不同部分,并根据正则表达式捕获返回一个新字符串吗?你甚至需要一个实际的 Date 对象吗?
  • 是的,我也想在 UI 中使用它

标签: typescript date oracle-jet


【解决方案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

【讨论】:

  • 是否有相同的包或库?
  • 试试momentjs。这是最受欢迎的。
  • 如果您需要一个如何使用它的示例,请告诉我 - 我可以更新我的答案以包含它。
【解决方案2】:

在探索了 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());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    相关资源
    最近更新 更多