【问题标题】:javascript convert date and time into specific formatjavascript将日期和时间转换为特定格式
【发布时间】:2014-11-17 11:25:11
【问题描述】:

我是新手,想将2014-09-25T09:54:00 转换为9:54 AM Thu, 25th Sep..

有人可以给我推荐一种用 javascript 实现的方法吗?

谢谢

【问题讨论】:

标签: javascript date datetime type-conversion


【解决方案1】:

正如Phrogz所说here

  1. Parse the string 转换为 JavaScript Date 对象。
  2. Format the Date 对象随你喜欢。

另请参阅:Why does Date.parse give incorrect results?How to format a JavaScript date 问题。

例子:

var myDate = new Date("2014-09-25T09:54:00")
var myString = myDate.customFormat("#h#:#mm# #AMPM# #DDD#, #D##th# #MMM#");

查看此代码here

【讨论】:

    【解决方案2】:

    我为你的情况做了一个fiddle

    它基于这个很棒的教程here,它使格式化日期变得非常容易。

    Javascript 代码:

    var d_names = new Array("Sun", "Mon", "Tue",
    "Wed", "Thu", "Fri", "Sat");
    
    var m_names = new Array("Jan", "Feb", "Mar", 
    "Apr", "May", "Jun", "Jul", "Aug", "Sept", 
    "Oct", "Nov", "Dec");
    
    var d = new Date();
    var curr_date = d.getDate();
    var sup = "";
    if (curr_date == 1 || curr_date == 21 || curr_date ==31)
       {
       sup = "st";
       }
    else if (curr_date == 2 || curr_date == 22)
       {
       sup = "nd";
       }
    else if (curr_date == 3 || curr_date == 23)
       {
       sup = "rd";
       }
    else
       {
       sup = "th";
       }
    
    var a_p = "";
    
    var curr_hour = d.getHours();
    
    if (curr_hour < 12)
       {
       a_p = "AM";
       }
    else
       {
       a_p = "PM";
       }
    if (curr_hour == 0)
       {
       curr_hour = 12;
       }
    if (curr_hour > 12)
       {
       curr_hour = curr_hour - 12;
       }
    
    var curr_day = d.getDay();
    var curr_min = d.getMinutes();
    var curr_month = d.getMonth();
    var curr_year = d.getFullYear();
    var curr_hour = d.getHours();
    alert((curr_hour + " : " + curr_min + " " + a_p)+ (" " + d_names[curr_day] + ", " + curr_date + sup + " "  
    + m_names[curr_month]  /* +" " + curr_year */));

    【讨论】:

      【解决方案3】:
      here is a great JavaScript library that handles this very well, and only 5.5kb minified.
      
      http://momentjs.com/
      
      It looks something like this:
      
      
      moment().format('MMMM Do YYYY, h:mm:ss a'); // February 25th 2013, 9:54:04 am
      moment().subtract('days', 6).calendar(); // "last Tuesday at 9:53 AM"
      You can also pass in dates as a String with a format, or a Date object.
      
      var date = new Date();
      moment(date); // same as calling moment() with no args
      
      // Passing in a string date
      moment("12-25-1995", "MM-DD-YYYY");
      Also has great support for languages other then English, like, Russian, Japanese, Arabic, Spanish, etc..
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-14
        • 1970-01-01
        • 1970-01-01
        • 2021-10-26
        • 2017-06-07
        • 1970-01-01
        • 1970-01-01
        • 2012-08-03
        相关资源
        最近更新 更多