【问题标题】:Display Date in special format in Angular在 Angular 中以特殊格式显示日期
【发布时间】:2020-07-07 21:53:11
【问题描述】:

我正在寻找一种 JavaScript ES7 方法,它将new Date() 转换为以下格式。是否有 ES7 方法可以做到这一点,否则我可以自己手动解析/查找/替换。

2020-06-30 07.49.28

日期加连字符,时间加句号。

目前在 Angular 8 中使用 typescript,但 JavaScript 语法也可以使用。

也对 Angular Method、Moment、Lodash 或其他库方法开放。

*如果没有可用,将采用最简单的查找/替换/正则表达式方法,

【问题讨论】:

标签: javascript angular typescript momentjs angular8


【解决方案1】:

如果你想在 html 中显示,请使用datepipe

<h1>{{date |date:'yyyy-MM-dd hh.mm ss'  }}</h1>

打字稿:

let newDateFormat = (new DatePipe('en-US').transform(new Date(), 'MM-dd-yyyy hh.mm.ss'));

如果你想为其他事情格式化日期,比如分配给文件名,那么使用ngx-moment 让你的生活变得轻松 你可以像这样格式化你的日期

moment().format('YYYY-MM-DD HH.mm.ss');

【讨论】:

  • 好的,我还需要存储为 Typescript 变量,在控制台日志中,这也可以
  • 将日期作为字符串存储在变量中是个坏主意。 bcs 当你必须在任何计算中使用它时,你必须解析它。最好使用npmjs.com/package/ngx-moment 它比本地日期更好。
  • 是的,已放入您的回答建议队列
【解决方案2】:

您提到momentJS,该库使用.format() method 使格式化日期变得非常简单:

moment().format('YYYY-MM-DD HH.mm.ss');

注意:new Date() 在你 invoke moment() without an argument 时是隐含的。

【讨论】:

    【解决方案3】:

    这是一些代码,我相信你可以改进它

    var d = new Date("06/30/2020 07:49:28");
    var date = [
      d.getFullYear(),
      ('0' + (d.getMonth() + 1)).slice(-2),
      ('0' + d.getDate()).slice(-2),
     
    ].join('-');
    console.log("date: ",date);
    
    var time=[
     ('0' + d.getHours()) .slice(-2),
      ('0' + d.getMinutes()).slice(-2),
        ('0' + d.getSeconds()).slice(-2),
    
    ].join('.');
    console.log("time: ",time);
    console.log("result: ",date+" "+time);
    

    【讨论】:

      猜你喜欢
      • 2019-05-05
      • 2019-02-25
      • 2020-03-05
      • 1970-01-01
      • 2018-04-15
      • 2022-07-07
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多