javascript - Javascript - 只有在提供月份和年作为参数的情况下,是否有什么JS方法来解析日期?

我正在JavaScript日期选择器中工作,我需要通过提供月和年来分析日期,例如,如果我将参数作为'01/2019',那么输出应该是,Tue Jan 1 2019 00:00:00 GMT 05 30 我知道只有当参数应该是一个有效的日期时,才能实现这一点,它应该是dd mm yyyy格式,但是,在我的例子中,格式应该是 mm yyyy ,是否有任何js内置方法来实现这一目标?

附加信息:由于没有提供date(dd),输入 month(mm)的第一个日期可以被接受,01/2019 -Tue Jan 12019 00:00:00 GMT 05 30

时间:

为了完成你的需求,为什么不在 01/2019 (mm/yyyy)格式中添加静态01/作为 dd

 

var currentDate = "01/2019" ;


var newDate = "01/" +currentDate;


var printDate = new Date(newDate);


document.write(printDate)



JSFiddle 这里

是,本机 Date 构造函数,只需反转月份和年份:

 

const reverse = americanDate => americanDate.split('/').reverse().join('.')


const jan2019 = new Date(reverse('01/2019')),


 feb2019 = new Date(reverse('2/2019')),


 //Date also works with 2 numbers: (month is 0-based)


 mar1990 = new Date(1990, 2)



console.log(jan2019, feb2019, mar1990)

希望能帮助到你:)!

 

function getdate(value) {


 var split = value.split('/')


 var date = new Date(split[1] +" /" + split[0]);


 return date


}


console.log(getdate('01/2019').toString());//pass any mm/yyyy format

有很多方法可以实现你的目标,并且使用 Date 类的JavaScript 。

你可以传递 string 文字日期,并且通过实例化为 Date 来解析它,

 

var date = new Date('2019/1');


console.log(date);



//Expected Output


//Tue Jan 01 2019 00:00:00 GMT+0800 (Malaysia Time)



你还可以使用 Date的重载函数来分隔年,日期和月参数。

 

var date = new Date(2000, 0, 1);


//The order of parameter in here is Date(yyyy, mm, dd)


//The month starts at 0 so


//0 = January


//1 = February


//and so on...


//You can also pass string or integer in here



所以你可以在这里操纵所需的输出,对于清洗器方法,可以逐个获取数据,已经为年,月和日期设置了 getter 函数,也是时间了!

 

var date = new Date(2000, 0, 1);


var month = date.getMonth() + 1;//adding 1 because the month is zero based


var year = date.getYear();



var output = month + '/' + year;



console.log(output);


//Expected Output


//1/2000



...