试图在html日期选择器中获取当前月份的第一个日期

d5vmydt9  于 2023-05-12  发布在  其他
关注(0)|答案(3)|浏览(158)

嗨,我试图在HTML日期选择器中获取当前月份的第一个日期。

From <input type="date" id="fdate" value=""/>
To<input type="date" id="tdate" value=""/>

我在id=“tdate中得到今天的日期,就像下面给出的一样,但是当我得到当前日期时,无法得到当前月份的开始日期。

var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
var today = year + "-" + month + "-" + day;
document.getElementById("tdate").value = today;
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
document.getElementById("tdate").value = firstDay;
mgdq6dx1

mgdq6dx11#

date输入字段必须为YYYY-MM-DD格式。密码:

var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);

将给予一个字符串,例如。Tue Sep 01 2020 00:00:00 GMT-0400 (Eastern Daylight Time),这不是你想要的。
你可以合并几个现有的StackOverflow答案来完成你想要的:

// https://stackoverflow.com/a/23593099/378779
function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) 
        month = '0' + month;
    if (day.length < 2) 
        day = '0' + day;

    return [year, month, day].join('-');
}

// https://stackoverflow.com/a/13572682/378779
function getFstDayOfMonFnc() {
    var date = new Date();
    return new Date(date.getFullYear(), date.getMonth(), 1)
}

假设fdate应该是本月的第一天,tdate应该是今天的日期:

document.getElementById('fdate').value = formatDate( getFstDayOfMonFnc() );
document.getElementById('tdate').value = formatDate( new Date() );
smdncfj3

smdncfj32#

var date = new Date();

var monthStart = Date.UTC(date.getFullYear(), date.getMonth())
monthStart = toIsoDateString(monthStart);
console.log(monthStart);

var nextMonthStart = Date.UTC(date.getFullYear(), date.getMonth() + 1);
nextMonthStart = toIsoDateString(nextMonthStart);
console.log(nextMonthStart);

function toIsoDateString(utcDate) {
  var date = new Date(utcDate);
  return date.toISOString().split('T')[0];
}
anauzrmj

anauzrmj3#

请以此作为参考。
这是我使用的代码:

<html>
   <head>
      <title>JavaScript Dates</title>
   </head>
   <body>
      <script>
         var date = new Date();
         document.write("Current Date: " + date );
         var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
         document.write("<br>"+firstDay);
         var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
         document.write("<br>"+lastDay);
      </script>
   </body>
</html>

您可以根据您的程序编辑此代码。

相关问题