5

可能重复:
在 JavaScript 中格式化日期

我需要以如下格式显示当前日期(一些示例):

sep 10, 2012
nov 5, 2012

等等。

使用javascript我得到一个当前日期对象

var date  = new Date();

接下来我需要做什么?

4

5 回答 5

2

你可以用这个。

function dateTest(){
  var d =new Date();
 var month_name=new Array(12);
 month_name[0]="Jan"
 month_name[1]="Feb"
 month_name[2]="Mar"
 month_name[3]="Apr"
 month_name[4]="May"
 month_name[5]="Jun"
 month_name[6]="Jul"
 month_name[7]="Aug"
 month_name[8]="Sep"
 month_name[9]="Oct"
 month_name[10]="Nov"     
 month_name[11]="Dec"
 alert(month_name[d.getMonth()]+" "+d.getDate()+" , "+d.getFullYear());
 }
于 2012-11-22T13:07:45.860 回答
1

使用以下链接中提供的 dateFormat lib http://stevenlevithan.com/assets/misc/date.format.js

请参阅本文以使用上述库格式化 js。 http://blog.stevenlevithan.com/archives/date-time-format

编辑:如果你不能使用 lib 然后

var d = 新日期();

var curr_date = d.getDate();

var curr_month = d.getMonth();

var curr_year = d.getFullYear();

var formattedDate = curr_date + " " + curr_month + ", " + curr_year;

于 2012-11-22T12:55:04.140 回答
1

您可以使用 getMonth(包括文本的一些开关/大小写)、getDate 和 getFullYear 方法来构建您的字符串。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/prototype#Methods

于 2012-11-22T12:57:10.273 回答
0

已编辑

您可以在代码中使用此功能:

function getFormattedDate(input){
   var pattern=/(.*?)\/(.*?)\/(.*?)$/;
   var result = input.replace(pattern,function(match,p1,p2,p3){
   var months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Dec'];
   return (months[(p1-1)]+" "+p2<10?"0"+p2:p2)+" "+p3;
});
alert(result);
}

对于参考。你可以像这样直接调用这个函数:

getFormattedDate("11/18/2013");

或者,您也可以使用此代码。

var date  = new Date();
dateFormat(date,"mediumDate");

您还可以在此处找到更多不同的格式。

于 2012-11-22T13:01:20.853 回答
0

试试这个

function getCurrentDate(){
var now=new Date();
var date=now.getDate();
var year=now.getFullYear();
var months=new Array('jan', 'feb', 'mar' ... 'dec');
var month=months[now.getMonth()]

return month + ' ' + date + ', ' + year;
}
于 2012-11-22T13:07:30.470 回答