代码之家  ›  专栏  ›  技术社区  ›  Derek Adair

日期字符串格式

  •  3
  • Derek Adair  · 技术社区  · 15 年前

    获取一个字符串的最佳方式是…

    YYYY-MM-DD

    让它看起来像…

    MM/DD/YYYY

    它不是Javascript日期对象的原因是因为我正在处理大量的数据,这些数据是从数据库中提取的。

    我看不需要把它转换成日期对象。

    4 回复  |  直到 15 年前
        1
  •  4
  •   Guffa    15 年前

    怎么样:

    s.substr(5,2) + '/' + s.substr(8) + '/' + s.substr(0,4)
    
        2
  •  1
  •   Vivin Paliath    15 年前

    您可以在javascript中使用正则表达式(假设您的问题标记为JS):

    var date = "2010-05-09";
    var formatted = date.replace(/([0-9]{4})-([0-9]{2})-([0-9]{2})/, "$2/$3/$1")
    

    比起使用子字符串,我更喜欢它,因为它似乎更明显地显示了正在做的事情。

        3
  •  1
  •   tvanfosson    15 年前

    如果用要解析的斜线替换破折号,则可以使用日期函数来获取各种组件(或使用各种toString()函数之一转换为字符串)。

    var date = new Date( Date.parse( old.replace(/-/g,'/') ) );
    alert( date.getMonth() + '/' + date.getDate() + '/' + date.getFullYear() );
    

    这样做的好处是可以将日期用作计算日期,而不仅仅是进行字符串格式设置。如果只需要字符串格式 您的日期字符串总是有效的,那么使用@guffa的substr方法可能是处理它的最佳方法。

        4
  •  1
  •   cjstehno    15 年前

    通过暴力,你可以做如下的事情:

    var old = '2010-02-03'.split('-');
    var desired = old[1] + '/' + old[2] + '/' + old[0];
    

    省去了使用日期对象的麻烦。