以给定的精度格式化日期

时间:2015-02-13 10:19:13

标签: javascript date momentjs

通过moment.js,JavasScript中的格式化日期变得非常简单。但我想知道是否有一种简单的方法来格式化给定精度的日期(有或没有这个库)。说:

var date = new Date();
assert.equal(format(date, 'days'), '2015-02-13')
assert.equal(format(date, 'minutes'), '2015-02-13 11:14')

我可以很容易地想象出一个用于不同情况的开关盒,并且可以理解输出格式仅在我看来是标准的,但仍然是。

1 个答案:

答案 0 :(得分:0)

使用Date对象,您可以随意制作自己的格式化程序。这样的事情就足够了吗?

var getFullDate = function(d) {
  var day = d.getDate();
  day = day < 10 ? '0' + day : day;

  var month = d.getMonth() + 1;
  month = month < 10 ? '0' + month : month;
  return d.getFullYear() + '-' + month + '-' + day;
}

var getHoursAndMinutes = function(d) {
  var minutes = d.getMinutes()
  minutes = minutes < 10 ? '0' + minutes : minutes;

  var hours = d.getHours()
  hours = hours < 10 ? '0' + hours : hours;
  return hours + ':' + minutes;
}

var format = function(d, fmt) {
  switch(fmt){
    case 'minutes': return getFullDate(d) + ' ' +  getHoursAndMinutes(d);
    case 'days': return getFullDate(d);
  }
}