【问题标题】:javascript string to date using custom formatjavascript 字符串迄今为止使用自定义格式
【发布时间】:2012-11-09 19:57:34
【问题描述】:

我有一个字符串 10/11/2012,表示 2012 年 11 月 10 日。

但是当我执行new Date("10/11/2012") 时,它会返回 10 月 11 日。

如何传递我想要的日期格式?在这种情况下dd-mm-yyyy

【问题讨论】:

  • 你不能。您可以扩展本机 javascript 日期解析器,使其成为可能。
  • 有点切题,但主题是在处理日期对象时如何处理语言环境stackoverflow.com/questions/6356839/…记住,日期对象表示时间中的日期,但该时间表示为不同的小时一天取决于你在哪里

标签: javascript date


【解决方案1】:

我在这个站点找到了 jQuery.datepicker.parseDate(format, Date):

http://docs.jquery.com/UI/Datepicker/$.datepicker.parseDate

所以我将改用 jQuery 日期选择器。

【讨论】:

    【解决方案2】:

    不幸的是,没有 JavaScript Date 构造函数允许您传递文化信息,以便它使用本地化的日期格式。最好的办法是使用分别获取年、月和日的构造函数:

    var parts = dateString.split('/');
    var date = new Date(parseInt(parts[2], 10), 
                        parseInt(parts[1], 10), 
                        parseInt(parts[0], 10));
    

    【讨论】:

    • 不需要parseInt 吗? Date 构造函数是否接受字符串?
    • 是的,它需要 parseInt。已添加。
    • @jdwire 两者都可以处理
    • 有一个隐式转换:'5'==5 //true
    【解决方案3】:

    对于这种特定情况,您可以使用:

    var dateparts = date.split("/");
    var datestring = dateparts[1] + "/" + dateparts[0] + "/" +  dateparts[2];
    var date = new Date(datestring);
    

    在更一般的情况下,您可以扩展 Date 原型,如以下答案所示:

    https://stackoverflow.com/a/13163314/1726343

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      相关资源
      最近更新 更多