【问题标题】:Change/reduce time format更改/减少时间格式
【发布时间】:2014-02-26 02:41:35
【问题描述】:

我真的是编程新手,希望从...减少时间格式

“2013 年 10 月 13 日星期日 00:00:00”也是“2013 年 10 月 13 日”。

最好的方法是什么?是通过正则表达式还是某种 substr 函数?

正则表达式会类似于 (^[Sun][Mon][Tue][Wed][Thu][Fri][Sat][00:00:00]) 吗?

如果数字发生变化,它就不会很动态..这太令人困惑了

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    JavaScript 有一个 Date 对象。

    例如,您可以这样做:

    var myDate = new Date("Sun Oct 13 00:00:00 2013");
    var y = myDate.getFullYear();
    var m = myDate.getMonth();
    var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
    var d = myDate.getDate();
    var myFormattedDate = months[m] + ' ' + d + ' ' + y;
    

    如需更好的格式和本地化,请查看moment.js

    【讨论】:

      【解决方案2】:
      var date = new Date("Sun Oct 13 00:00:00 2013");
      date = (date + "").split(" ").slice(1, 4).join(" ");
      alert(date);
      

      试试这个。这将根据您的需要提醒Oct 13 2013

      【讨论】:

      • 很高兴它对您有所帮助。
      【解决方案3】:

      如果输入字符串的格式与示例中的格式相同,请尝试此方法:

      input = input.replace(/.*?([a-zA-Z]{3}\s+\d+).*?(\d\d\d\d)/g, "$1 $2");
      

      【讨论】:

      • 您可以改进正则表达式:/.*?([a-zA-Z]{3}\s+\d{1,2}).*?(\d{4})/g
      • 哇,正则表达式把我搞糊涂了,但这很好用。谢谢!
      【解决方案4】:

      一个快速简单的正则表达式是:

      \d{2}:\d{2}:\d{2}\s
      

      并替换为""(无)

      工作正则表达式示例:

      http://regex101.com/r/vL0zJ4

      Javascript:

      timeStr = "Sun Oct 13 00:00:00 2013";
      timeStr = timeStr.replace(/\d{2}:\d{2}:\d{2}\s/, "");
      
      console.log(timeStr);
      

      输出:

      Sun Oct 13 2013
      

      【讨论】:

      • 谢谢!虽然这很接近,但我也要求删除工作日,但无论如何谢谢,我现在可以正常工作了。
      猜你喜欢
      • 2015-09-12
      • 2023-04-11
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      相关资源
      最近更新 更多