我正在尝试显示我想要的日期格式,但没有一个解决方案对我不起作用。
$(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 2017
或Fri 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]
请提出任何建议!
答案 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
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;
这是您的代码和工作示例
$(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;
答案 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')。