如何在节点js中的日期中获取日期名称

时间:2017-06-29 13:23:24

标签: javascript date time meanjs

我有这样的约会

2017年6月23日 我想要的输出是

2017年6月23日星期五

 v.npi.appointment_dates[j] = date.toLocaleString('en-US', {year: 'numeric', month: 'long', day: 'numeric' });

但由于这一天:'数字'我错过了一天的名字。它几乎耗费了3个小时。任何人都可以帮助我。谢谢。

2 个答案:

答案 0 :(得分:3)

您需要在选项对象中包含weekday: 'long'

var date = new Date();
console.log(date.toLocaleString('en-US', {
      weekday: 'long',
      year: 'numeric',
      month: 'long',
      day: 'numeric'
    }));

如果您要采用浏览器默认语言,请使用 undefined

var date = new Date();
console.log(date.toLocaleString(undefined, {
      weekday: 'long',
      year: 'numeric',
      month: 'long',
      day: 'numeric'
    }));

即使支持 options toLocaleString 的结果仍然依赖于实现,因为“locale”选项实际上是一种语言代码,可能不是用户期望的那样即使他们说这种语言,浏览器开发人员也可能没有选择预期的格式。

答案 1 :(得分:0)

以下是您正在寻找的功能。

function getFormattedDate(date) {
  var dayNames = ['Monday', 'Thursday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
  var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']

  var dayOfMonth = date.getDate()
  var dayOfWeekIndex = date.getDay()
  var monthIndex = date.getMonth()
  var year = date.getFullYear()

  return dayNames[dayOfWeekIndex] + ' ' + monthNames[monthIndex] + ' ' +  dayOfMonth + ' ' + year;
}

你应该看一下moment.js,它可以帮助你很多格式化和大量的其他日期问题。