如何使用输出中的jquery格式化日期

时间:2017-08-01 06:14:22

标签: jquery date-format

我正在尝试显示我想要的日期格式,但没有一个解决方案对我不起作用。

$(document).ready(function() {

  var html = '';
  var startDate = '07/04/2017';
  var chunks = startDate.split('/');
  var startformattedDate = chunks[1] + '-' + chunks[0] + '-' + chunks[2];

  var endDate = '15/04/2017';
  var chunks1 = endDate.split('/');
  var endformattedDate = chunks1[1] + '-' + chunks1[0] + '-' + chunks1[2];

  var start = new Date(startformattedDate);
  var end = new Date(endformattedDate);
  var data = [];

  while (start <= end) {
    data.push(new Date(start));
    start.setDate(start.getDate() + 1);
  }
  for (i = 0; i < data.length; i++) {
    html += '<tr><td>' + data[i] + '</td></tr>';
  }
  $('.Dates').append(html);
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table class="Dates">
</table>

我想显示以下格式的日期。我该怎么做?

Fri Apr 07 2017Fri 7th Apr 2017

我尝试使用以下格式,但没有一个与我想要的输出不匹配

new Date().toISOString()

new Date().toISOString().split('T')[0];

new Date().toISOString().replace('-', '/').split('T')[0].replace('-', '/');

new Date().toLocaleString().split(',')[0]

请提出任何建议!

6 个答案:

答案 0 :(得分:1)

你可以使用new Date().toString().substring(0,15)

new Date().toString()将返回如下格式:Tue Aug 01 2017 08:14:20 GMT+0200 (Romance Daylight Time)

然后,通过添加.substring(0,15),我们可以将此部分Tue Aug 01 2017

&#13;
&#13;
console.log(new Date().toString().substring(0,15))
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

这是您的代码和工作示例

&#13;
&#13;
$(document).ready(function() {

  var html = '';
  var startDate = '07/04/2017';
  var chunks = startDate.split('/');
  var startformattedDate = chunks[1] + '-' + chunks[0] + '-' + chunks[2];

  var endDate = '15/04/2017';
  var chunks1 = endDate.split('/');
  var endformattedDate = chunks1[1] + '-' + chunks1[0] + '-' + chunks1[2];

  var start = new Date(startformattedDate);
  var end = new Date(endformattedDate);
  var data = [];

  while (start <= end) {
    data.push(new Date(start));
    start.setDate(start.getDate() + 1);
  }
  for (i = 0; i < data.length; i++) {
    html += '<tr><td>' + data[i].toString().substring(0,15) + '</td></tr>';
  }
  $('.Dates').append(html);

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table class="Dates">
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用substring获取所需的日期格式:

$(document).ready(function() {

  var html = '';
  var startDate = '07/04/2017';
  var chunks = startDate.split('/');
  var startformattedDate = chunks[1] + '-' + chunks[0] + '-' + chunks[2];

  var endDate = '15/04/2017';
  var chunks1 = endDate.split('/');
  var endformattedDate = chunks1[1] + '-' + chunks1[0] + '-' + chunks1[2];

  var start = new Date(startformattedDate);
  var end = new Date(endformattedDate);
  var data = [];

  while (start <= end) {
    data.push(new Date(start));
    start.setDate(start.getDate() + 1);
  }
  for (i = 0; i < data.length; i++) {

    html += '<tr><td>' + data[i].toString().substring(0, 15) + '</td></tr>';
  }
  $('.Dates').append(html);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table class="Dates">
</table>

答案 2 :(得分:0)

var formateJsonDateToSimpleDateFormate=function(jsondate){
var datePart=jsondate.split('T')[0];
datePart=datePart.substring(0,10);
var dateNew=datePart.split('-');
var date=dateNew[2]+'/'+dateNew[1]+'/'+dateNew[0];
return date;
}

我这样做了。它对我有用。  和

 var formateJsonDateToSimpleDateFormate=function(jsondate){
  var d=new Date(parseInt(jsondate.slice(6,-2)));
 var hour=d.getHours()==0?12:(d.getHours()>12?d.getHours()-12:d.getHours());
var min=d.getMinutes<10?'0'+d.getMinutes():d.getMinutes();
var ampm=d.getHours()<12?'AM':'PM';
hour=hour<10?'0'+hour:hour;
var time=hour+':'+min+' '+ampm;
var date=d.getDate()+'-'+getMonthNameInShortForm(1+d.getMonth())+'-'d.getFullYear()+ " "+time;
return date;

}

var getMonthNameInShortForm=function(monthNumber){
var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
return months[monthNumber+1];
}

答案 3 :(得分:0)

data[i]添加到循环中,您可以像使用

一样使用它
for (i = 0; i < data.length; i++) {
   html += '<tr><td>' + data[i].toString().split(" 00")[0] + '</td></tr>';
}

答案 4 :(得分:0)

如果您使用jQuery UI,则可以使用以下内容执行此操作:

var formatted_date = $.datepicker.formatDate('D M dd yy', new Date());
// Fri Apr 07 2017

var formatted_date = $.datepicker.formatDate('D M dth yy', new Date());
// Fri Apr 7th 2017

注意:对于第二个,它不适用于1st,2nd,3rd ...因为它将输出第1,第2,第3,但您可以尝试在返回格式之前创建if条件。

答案 5 :(得分:0)

  

您可以在没有jQuery的情况下使用jquery-dateFormat。你只需要导入   上面的dateFormat.js而不是使用$ .format(...)格式化   你应该使用DateFormat.format('D M dth yy')。

For more check the document..