将日期输入类型默认值设置为今天,明天,Anydate?

在HTML5中,没有一种在value属性中指定“today”的本机方式。 这是我非常喜欢的jQuery代码。 如何扩展此代码进行设置

  • 今天是var today的日期
  • 明天的日期到var tomorrow
  • 计算到var anydate任何日期( var todayvar today计算/发起的?)

并相应地定义以下3个id-s:

  • #theDate
  • #theTomorrow
  • #theAnydate

HTML

  

jQuery的

 $(document).ready(function() { 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; $("#theDate").attr("value", today); }); 

演示

与任何HTML输入字段一样,除非使用value属性指定默认值,否则浏览器将为空。

不幸的是,HTML5没有提供在value属性(我可以看到)中指定’today’的方法,只提供了像2011-09-29这样的RFC3339有效日期。

来源: 德的回答“HTML5输入类型日期 – 今天的默认值?”

在这种情况下,您可以编写一个脚本来简单地+1来查找明天的日期 ,但您首先必须在今天的日期为您的input id添加一个默认值。

至于任何日期 ? 不完全确定你的意思。 像一个日期选择器?

问题有点不清楚,但我想我会尽可能多地提供所提供的信息。


要通过jQuery分配日期,你总是可以这样做……

http://jsfiddle.net/SinisterSystems/4XkVE/4/

HTML:

  

jQuery的:

 var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} today = mm+'/'+dd+'/'+yyyy; $('#theDate').attr('value', today); alert($('#theDate').attr('value')); 

编辑:

此外,要查找今天的日期和明天的日期,但确保月末或年末不会影响它,请改用:

http://jsfiddle.net/SinisterSystems/4XkVE/6/

HTML:

   

jQuery的

 var today = new Date(); var tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); var tomday = tomorrow.getDate(); var tommonth = tomorrow.getMonth() + 1; var tomyear = tomorrow.getFullYear(); if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} today = mm+'/'+dd+'/'+yyyy; if(tomday<10){tomday='0'+tomday} if(tommonth<10){tommonth='0'+tommonth} tomorrow = tommonth+'/'+tomday+'/'+tomyear; $('#theDate').attr('value', today); $('#tomorrowDate').attr('value', tomorrow); 

基于Nicholas Hazel的回复和user113716回答关于日期的前导零 ,这里有一个简洁的函数,可以将日期格式化为YYYY-MM-DD并设置“日期”类型输入控件的值。

http://jsfiddle.net/wloescher/2t8v7fnf/2/

HTML

 
Today:
Tomorrow:
Any Date:

JavaScript的

 // Set values $("#theDate").val(getFormattedDate(today())); $("#theTomorrow").val(getFormattedDate(tomorrow())); $("#theAnyDate").val(getFormattedDate(new Date("4/1/12"))); function today() { return new Date(); } function tomorrow() { return today().getTime() + 24 * 60 * 60 * 1000; } // Get formatted date YYYY-MM-DD function getFormattedDate(date) { return date.getFullYear() + "-" + ("0" + (date.getMonth() + 1)).slice(-2) + "-" + ("0" + date.getDate()).slice(-2); } 

使用toISOString(),它始终返回“Z”时区ISO8601字符串,并将其截断为日期。

 var todayUTC = new Date().toISOString().substr(0,10); var todayLocal = new Date(new Date().getTime() - new Date().getTimezoneOffset() * 60 * 1000).toISOString().substr(0,10); var tomorrowLocal = new Date(new Date().getTime() + 24 * 60 * 60 * 1000 - new Date().getTimezoneOffset() * 60 * 1000).toISOString().substr(0,10); 
    Interesting Posts