微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法将 Javascript 数据格式化为 dd-mm-yyyy?

如何解决有没有办法将 Javascript 数据格式化为 dd-mm-yyyy?

目前我正在从剑道日期选择器中获取日期 (1)Sun Feb 01 2021 00:00:00 GMT+0000 (GMT)。但是,我希望将此日期格式化为 dd/mm/yyyy 所以我做了以下逻辑来反映我想要的日期。下面的实现,例如返回以下日期 26-01/2021,但采用字符串类型。我想要一个 Date 对象,但不是上述日期 [(1)] 中所述的方式,而是类似于 26 01 2021 00:00:00 GMT

这可能吗?


  public static formatDate(dt: Date): string {
    const isValid = this.isValidDate(dt);
    if (isValid) {
      const formattedDate = dt.toLocaleDateString('en-GB',{
      day: 'numeric',month: 'numeric',year: 'numeric'
      }).replace(/\//g,'-');
      return formattedDate;
    }
    return null;
  }

  public static isValidDate(date) {
    return date && Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date);
  }

解决方法

您可以使用 Intl.DateTimeFormat 根据特定区域设置格式化日期。

这个问题同时提到了 dd-mm-yyyydd/mm/yyyy 格式,所以这里有两个片段会有所帮助:

public static formatDate(dt: Date): string {
  return new Intl.DateTimeFormat('en-GB').format(dt); // returns the date in dd/mm/yyyy format
}
public static formatDate(dt: Date): string {
  return new Intl.DateTimeFormat('en-GB').format(dt).replace(/\//g,'-'); // returns the date in dd-mm-yyyy format
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。