从日期获取日期名称,格式为dd-mm-yyyy?

问题描述

我需要一种从DD-MM-YYYY格式的日期获取日期名称方法,例如星期一,星期二 我正在使用bootstrap datetimepicker,当我选择一个日期时,该值只是DD-MM-YYYY格式,我不能使用getDay(),因为格式与之不一致。

我也不能使用new Date(),因为我必须是从日历中选择的日期。不是今天。 当我运行以下代码时,出现错误

date.getDay()不是函数

$('#datepicker').datetimepicker().on('dp.change',function (event) {
        let date = $(this).val();
        let day = date.getDay();
        console.log(day);
      });
```

Anyone any ideas?

解决方法

Date构造函数is strongly discouraged按原样分析字符串,因此,我建议您通过以下方式将日期字符串转换为Date

const dateStr = '15-09-2020',getWeekday = s => {
        const [dd,mm,yyyy] = s.split('-'),date = new Date(yyyy,mm-1,dd)
        return date.toLocaleDateString('en-US',{weekday: 'long'})
      }
      
console.log(getWeekday(dateStr))      

,

function get_day(date){
    let d=new Date(date);
    let days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
    let day_index=d.getDay();
    return days[day_index]
    }

let today=new Date();
console.log("today is",get_day(today))