用JavaScript格式转换日期2013-11-05至2013年11月5日星期二?

时间:2013-11-08 09:13:43

标签: javascript date

我看过datejs,但我无法输出正确的格式。

输出“Nov”而不是“November”,并将时间“00:00:00”添加到转换结束。

Date.parse('2013-11-05') 输出Tue Nov 05 2013 00:00:00

任何帮助都会非常感谢。

4 个答案:

答案 0 :(得分:5)

Date.parse在ES5之前或simplified version of ISO8601之外的格式中不可靠。此外,Date.toDateString也与实现有关。

我更喜欢Moment.js,因为它很小,文档齐全且非常强大 - 另外,我不喜欢手工编写日期parsingformattinglike this (fiddle)应该做的事情:

var m = moment('2013-11-05')
var str = m.format('dddd, Do MMMM, YYYY')

(Moment.js也支持本地化,如果你是那种东西。)

答案 1 :(得分:0)

你可以尝试这个吗,下面的功能是输出是2013年11月5日星期二

                var dateStr='2013-11-05';                    

                var str = DateConvert(dateStr);
                window.alert(str);    

                  function DateConvert(dateStr){          

                    var d = new Date(dateStr);
                    var month = ["January", "February", "March", "April", "May", "June",
                                 "July", "August", "September", "October", "November", "December" ][d.getMonth()];

                    var day = d.getDate();
                     var suffix = 'th';
                     switch (day) {
                         case 1:
                         case 21:
                         case 31:
                             suffix =  'st';                                
                         case 2:
                         case 22:
                             suffix = 'nd';                             
                         case 3:
                         case 23:                                
                             suffix = 'rd';
                       }                         


                     var DayName = ["Sunday", "Monday", "Tuesday", "Wednessday", "Thursday", "Friday", "Saturday"][d.getDay()];                      

                     var str = DayName+', '+day+suffix+' '+ month+', '+ d.getFullYear();

                  return str;
               }

答案 2 :(得分:0)

你可以做这样的事情

`

$(document).ready(function(){
var date=  new Date(); 
 var _strsplit= date.toDateString().split(" ");

 var Dayname=_strsplit[0];

 var MonthName=_strsplit[1];

 var Day=_strsplit[2];

 var Year=_strsplit[3];

 switch(Dayname)
 {

  case "Mon":
        Dayname="Monday";
        break;
         case "Tue":
        Dayname="Tuesday";
        break;

         case "Wed":
        Dayname="Wednesday";
        break;
         case "Thr":
        Dayname="Thrusday";
        break;
   case "Fri":
        Dayname="Friday";
        break;
         case "Sat":
        Dayname="Saturday";
        break;
         case "Sun":
        Dayname="Sunday";
        break;

 }
 switch(MonthName)
 {

 case "Nov":
      MonthName="Novemeber";
      break;

//为月份做同样的事情

 }

 document.write(Dayname +" "+MonthName+" "+Day+" "+Year);



}); 
</script>`

答案 3 :(得分:-1)

请尝试使用给定代码,这可能会对您有所帮助。

<script type="javascript">
   var dateTime = new Date(); 
   alert(dateTime.toString());
</script>
相关问题