【问题标题】:JS. Convert format dateJS。转换格式日期
【发布时间】:2013-06-25 15:43:24
【问题描述】:

我有这种格式的日期:

var date:

2013 年 5 月 31 日星期五 17:41:01 GMT+0200 (CEST)

如何将其转换为:31.05.2013

?

【问题讨论】:

标签: javascript jquery datetime


【解决方案1】:

编辑:如果您必须经常处理日期和时间,这个答案很好。也许这就是你要找的。这让我的工作轻松多了。值得一看。如果只是关于这个简单的任务,请不要加载新脚本。

我推荐 moment.js:http://momentjs.com/

简单编码示例:

var date = new Date("Fri May 31 2013 17:41:01 GMT+0200 (CEST)");
var date_str = moment(date).format("DD.MM.YYYY");
alert(date_str);

试试看: http://jsfiddle.net/bvaLt/

【讨论】:

  • 仅仅为了获取日期而加载整个库是完全愚蠢的。除非他真的想在时间和日期上做很多工作,否则他应该远离那个,表现明智。
  • @Ghillied 当然,他不应该仅仅为了这个简单的任务加载一个库。但是为什么我要发布两次答案呢?如果他还不知道 momentjs,这只是另一种解决方案,也许是正确的解决方案。 :-)
【解决方案2】:
function convertDate(str){
  var d = new Date(str);
  return addZero(d.getDate())+"."+addZero(d.getMonth()+1)+"."+d.getFullYear();
}

//If we have the number 9, display 09 instead
function addZero(num){
  return (num<10?"0":"")+num;
}

convertDate("Fri May 31 2013 17:41:01 GMT+0200 (CEST)");

【讨论】:

    【解决方案3】:

    没有格式化程序,去:

    ('0' + date.getDate()).slice(-2) + '.' +
    ('0' + (date.getMonth() + 1)).slice(-2) + '.' + 
    date.getFullYear()
    

    【讨论】:

      【解决方案4】:

      如果dDate 对象(而不是表示日期的字符串),您可以使用这种方法

      var d = new Date();
      
      ("0" + d.getDate()).slice(-2) + "." + 
      ("0" + (d.getMonth() + 1)).slice(-2) + "." + 
      d.getFullYear();
      

      否则,如果您有一个字符串,第一步只需将其作为参数传递给Date 构造函数

      var d = new Date("Fry May 31...");
      

      【讨论】:

      • 你应该给月份加 1(见我的回答),否则我们现在是 5 月 :)
      猜你喜欢
      • 2015-11-19
      • 1970-01-01
      • 2020-11-20
      • 2020-11-24
      • 2017-12-23
      相关资源
      最近更新 更多