目前,我正在从日历中提取json Feed。它以yyyy / mm / dd格式返回日期...我知道我可以使用javascript覆盖这种格式,但我该怎么办呢?我需要输出只是“dd”而不是月份和年份。
我还希望单个数字日显示为“1”,“2”,“3”,“4”,当然还有dbl数字像往常一样显示“10”,“11”,“12 “等等。关于如何通过javascript / jquery重新格式化日期的任何想法?
答案 0 :(得分:1)
您可以使用日期对象
var theDate = new Date(dateString);
var theDay = parseInt(theDate.getDate(), 10);
或者,如果您不想使用该对象,并且每次都可以期待相同的字符串:
var theDay = parseInt(dateString.split('/')[2], 10);
答案 1 :(得分:0)
此代码应该这样做。 。
var jsonDate = <...reference to the JSON date value...>;
var dayValue = jsonDate.split("/")[2].replace(/0(.)/, "$1");
你已经有了一个字符串值,所以不妨把它作为一个字符串来操作。
jsonDate.split("/")[2]
拆分完整日期,然后从结果数组中取出第三项(即日期值).replace(/^0(.)$/, "$1")
在“day”字符串的第一个位置找到它,它将修剪掉“0”然后您只需在需要使用dayValue
的地方使用它。 :)
<强>更新强>
根据以下评论,请尝试将此作为您的代码:
var listingEl = $('<div class="eventListings" title="' + item.event.title + '" />');
var dateEl = $('<div class="mdate">' + dayValue + '</div>');
var linkEl = $('<a href="' + item.event.localist_url + '" />');
var titleEl = $('<div class="mcTitle">' + item.event.title + '</div>');
linkEl.append(titleEl);
listingEl.append(dateEl);
listingEl.append(linkEl);
$('#localistTitle').append(listingEl);
更新2:
您的代码中有一些不起作用(我认为主要问题是您使用.appendTo()
的方式)。我将其拆分为多步骤流程并使用.append()
代替。当我在本地测试它时,它工作正常。