Java Datestring,如何创建漫长的一周中的格式?

时间:2015-07-03 23:42:49

标签: javascript date-formatting

这是一个从当前时间算起所需工作日数的脚本。它工作得很好。我希望将结果呈现为一周中的长字,例如 2015年7月6日星期一。目前的结果是 2015年7月6日星期一

我是一只黑客,所以一个愚蠢的回应不会是一种侮辱!

Number.prototype.mod = function(n) {
  return ((this % n) + n) % n;
}
Date.prototype.addBusDays = function(dd) {
  var wks = Math.floor(dd / 5);
  var dys = dd.mod(5);
  var dy = this.getDay();
  if (dy === 6 && dd > -1) {
    if (dys === 0) {
      dys -= 2;
      dy += 2;
    }
    dys++;
    dy -= 6;
  }
  if (dy === 0 && dd < 1) {
    if (dys === 0) {
      dys += 2;
      dy -= 2;
    }
    dys--;
    dy += 6;
  }
  if (dy + dys > 5) dys += 2;
  if (dy + dys < 1) dys -= 2;
  this.setDate(this.getDate() + wks * 7 + dys);
}

var today = new Date();
today.addBusDays(1);
document.getElementById('dtt').innerHTML = today.toDateString();

用法:我们用完整的句子:

Your package will arrive on or before <span id="dtt"></span>.

1 个答案:

答案 0 :(得分:0)

只需创建一个月/日名称数组,如下所示:

var days = ["Sunday","Monday",...]; 
var months = ["January", "February", ...];

然后

function formatDate(date) {
    var day = date.getDate();
    if(day < 10) {
        day = "0" + day;
    }
    return days[date.getDay()] + " " + months[date.getMonth()] + " " + day + " " + date.getFullYear();
}

console.log(formatDate(new Date()));

http://jsfiddle.net/1xe39uut/2/