Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
给定一个选定的年份,我需要用JavaScript计算该年份的第一天和最后一天_Javascript_Date_Momentjs - Fatal编程技术网

给定一个选定的年份,我需要用JavaScript计算该年份的第一天和最后一天

给定一个选定的年份,我需要用JavaScript计算该年份的第一天和最后一天,javascript,date,momentjs,Javascript,Date,Momentjs,给定选定的年份,例如:“2020年”。我需要用JavaScript计算所选年份的第一天和最后一天,格式为:“2020-01-01”和“2020-12-31” 有人能帮我吗?是否可以使用Moment.js执行此操作?提前感谢。您可以用这种简单的方法实现它 var formatDate=函数(年、月、日) { 如果(月

给定选定的年份,例如:“2020年”。我需要用JavaScript计算所选年份的第一天和最后一天,格式为:“2020-01-01”和“2020-12-31”


有人能帮我吗?是否可以使用Moment.js执行此操作?提前感谢。

您可以用这种简单的方法实现它

var formatDate=函数(年、月、日)
{
如果(月<10)
月份='0'+月份;
如果(第10天)
天='0'+天;
返回[年、月、日]。加入('-');
}
变量printDate=函数(年){
console.log(“第一天:+formatDate(年份,1,1));
console.log(“最后一天:+formatDate(年份,12,31));
}
打印日期(2020年)
CalculateDates=函数(年){
log('first day:'+新日期(年,0,1,4).toJSON().split('T')[0]);
log('last day:'+新日期(year,12,0,4).toJSON().split('T')[0]);
}

CalculateDates(2019)
我认为最简单、最快的方法是不“计算”任何东西。你不需要

功能年初(年){
返回`${year}-01-01`;
}
功能lastOfYear(年){
返回`${year}-12-31`;
}
const start=第一年(2020年);//2020-01-01
const end=最后一年(2020年);//2020-12-31
您甚至可能不需要这些函数,这取决于您的用例


这些函数不是特别可重用的,因此如果您有其他日期要格式化,那么提供的其他一些答案将更加灵活。但是如果你只需要知道一年的第一天和最后一天,那么我建议你保持简单。

第一天应该是公历的1月1日,最后一天是公历的12月31日,对吗?日期
1月1日
12月31日
是固定的,对吗?那么,为什么要使用
MomentJS
?您只需在给定年份之后添加
01-01
12-31
。如果您想找到该日期的日期,那么可以使用
矩js
。您想知道该日期的名称,如星期一吗?目前还不清楚矩js如何适用于该问题,但请查看以下内容,这为您可能需要的所有javascript日期函数提供了一个参考:可能这就是您要查找的内容,请使用moment.js检查此答案。您只需通过日期“01-01-2020”并使用.format()获取日期名称,这将返回
第一天:2018-12-31
最后一天:2019-12-30
。没有理由涉及日期对象或JSON。为什么把时间定在4点?我猜这是你当地的时区偏移量。这取决于你所在的时区。尝试增加更多的小时数,它会解决问题:新日期(年,0,1,12)