【问题标题】:How to change date format in JavaScript [duplicate]如何在 JavaScript 中更改日期格式 [重复]
【发布时间】:2011-12-23 20:32:20
【问题描述】:

可能重复:
Formatting a date in javascript

我有这个:

HTML

Start Date:  <input type="date" id="startDate" name="startDate" ></p>

JavaScript

var  mydate = new Date(form.startDate.value);

之后 mydate 变为

"05/05/2010"

现在,我想将此格式更改为

May 2010

有没有办法在 JavaScript 中做到这一点?

【问题讨论】:

标签: javascript datetime


【解决方案1】:

你当然可以自己格式化日期..

var mydate = new Date(form.startDate.value);
var month = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"][mydate.getMonth()];
var str = month + ' ' + mydate.getFullYear();

您也可以使用外部库,例如DateJS

这是一个 DateJS 示例:

<script src="http://www.datejs.com/build/date.js" type="text/javascript"></script>
<script>
   var mydate = new Date(form.startDate.value);
   var str = mydate.toString("MMMM yyyy");
   window.alert(str);
</script>

【讨论】:

    【解决方案2】:

    使用Datejs 库,这可以很简单:

    Date.parse("05/05/2010").toString("MMMM yyyy");
    //          parse date             convert to
    //                                 string with
    //                                 custom format
    

    【讨论】:

    • 我试过这个: var start_date = Date.parse(startDate).toString("YYYY-MM-DD") (其中 startDate 是 11/30/2015)并得到 YYYY-11-DD 作为输出。
    • @pceccon 为未来的读者回答一个老问题,但格式应该是(“yyyy-MM-dd”)。该库区分大小写,因为您需要区分分钟/月和 12/24 小时格式。
    • 有没有人可以推荐的更新的 datejs 等价物?下载 URL 的日期是 2007 年... :)
    • 响应较晚,但我会推荐 date-fns 或 moment.js
    【解决方案3】:
    var month = mydate.getMonth(); // month (in integer 0-11)
    var year = mydate.getFullYear(); // year
    

    那么你只需要几个月的数组:

    var months = ['Jan', 'Feb', 'Mar', ...];
    

    然后展示它:

    alert(months[month] + "  " + year);
    

    【讨论】:

      【解决方案4】:

      试试 -

      var monthNames = [ "January", "February", "March", "April", "May", "June",
          "July", "August", "September", "October", "November", "December" ];
      
      var newDate = new Date(form.startDate.value);
      var formattedDate = monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear();
      

      【讨论】:

        【解决方案5】:

        使用您的 mydate 对象并调用 getMonth() 和 getFullYear()

        有关更多信息,请参阅此内容: http://www.w3schools.com/jsref/jsref_obj_date.asp

        【讨论】:

        • @MarcB w3fools 对这个 w3cschools.com 的 javascript 日期参考有什么问题吗?请具体。
        • 看到它们在这里链接的一般反应。仅仅因为他们是第一个是谷歌的结果并不意味着他们是最好的链接。对于 JS,最好链接到等效的 MDN 条目:developer.mozilla.org/en/JavaScript/Reference/Global_Objects/… 更好的文档,视觉垃圾更少。
        • 呵呵,我一直使用 W3CHOOLS 作为参考,主要是因为它总是出现在 Google 上的第一件事。我现在必须读这个..
        猜你喜欢
        • 2013-05-24
        • 2016-10-09
        • 1970-01-01
        • 1970-01-01
        • 2016-05-10
        • 2023-01-25
        • 2022-09-28
        • 2013-06-03
        • 1970-01-01
        相关资源
        最近更新 更多