Javascript / JQuery格式日期为单数字日

时间:2014-01-24 18:38:56

标签: javascript jquery

目前,我正在从日历中提取json Feed。它以yyyy / mm / dd格式返回日期...我知道我可以使用javascript覆盖这种格式,但我该怎么办呢?我需要输出只是“dd”而不是月份和年份。

我还希望单个数字日显示为“1”,“2”,“3”,“4”,当然还有dbl数字像往常一样显示“10”,“11”,“12 “等等。关于如何通过javascript / jquery重新格式化日期的任何想法?

2 个答案:

答案 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()代替。当我在本地测试它时,它工作正常。