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

How to get day name in a date in node js

我有一个这样的约会

2017-06-23 我想要的输出是

2017 年 6 月 23 日,星期五

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

但是因为日期:'numeric' 我遗漏了日期名称。谁能帮帮我?

这是您要找的功能。

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,这对您解决格式设置和其他日期问题有很大帮助。

您需要在选项对象中包含 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" 选项实际上是一种语言代码,这可能不是用户所期望的,即使他们使用该语言,浏览器开发人员也可能没有选择预期的格式。