获取字符串日期js的Dayname

时间:2019-04-07 19:12:38

标签: javascript

嗨,我是javascript新手,我想获取日期字符串的名称 格式为dd / MM / yyyy

例如:

23/02/2019
expected output: Saturday

我的代码给了Nan。我将不胜感激任何建议或帮助。谢谢

var ot="23/02/2019";
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var d = new Date(ot);
var dayName = days[d.getDay()];
  console.log(dayName);

2 个答案:

答案 0 :(得分:1)

您的new Date(ot)可能由于时区问题而失败。为了安全起见,您可以分解日期字符串,并将其作为年,月,日传递给new Date()

  

JS月是基于索引的,因此-1来自字符串中的月

var ot="23/02/2019";
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var otArr = ot.split('/')
var d = new Date(otArr[2], otArr[1] - 1, otArr[0]);
var dayName = days[d.getDay()];
console.log(dayName);

答案 1 :(得分:-2)

格式化以获取具有年,月和日为new Date(year,month,date);的新日期对象

要从格式化的字符串日期(日期/月/年)中分别提取它们,我们需要用斜杠将它们分开,并向函数提供所需的参数,如下所示。

var ot="23/02/2019";
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var splits = ot.split('/');
// var d = new Date(ot.split('/')[2],ot.split('/')[1] -1 ,ot.split('/')[0]);
var d = new Date(splits[2],splits[1] -1 ,splits[0]);
var dayName = days[d.getDay()];
console.log(dayName);