当前位置: 首页 > 知识库问答 >
问题:

HTML5输入今天和当前时间的datetime本地默认值

李烨
2023-03-14

我是否可以将HTML5输入类型的默认值设置为今天的日期和当前的时间。

谢谢你

共有3个答案

慕鹏
2023-03-14

被接受的答案对我来说似乎很复杂。。。这里有一个不需要jQuery的较短解决方案

JSFiddle:https://jsfiddle.net/rzaceg8v/

window.addEventListener("load", function() {
    var now = new Date();
    var utcString = now.toISOString().substring(0,19);
    var year = now.getFullYear();
    var month = now.getMonth() + 1;
    var day = now.getDate();
    var hour = now.getHours();
    var minute = now.getMinutes();
    var second = now.getSeconds();
    var localDatetime = year + "-" +
                      (month < 10 ? "0" + month.toString() : month) + "-" +
                      (day < 10 ? "0" + day.toString() : day) + "T" +
                      (hour < 10 ? "0" + hour.toString() : hour) + ":" +
                      (minute < 10 ? "0" + minute.toString() : minute) +
                      utcString.substring(16,19);
    var datetimeField = document.getElementById("myDatetimeField");
    datetimeField.value = localDatetime;
});
<input type="datetime-local" id="myDatetimeField"/>
阮俊弼
2023-03-14

这是可能的。通过使用JQuery函数,您可以得到一个真正完整的解决方案。

这里有一个例子。

JSFiddlehttp://jsfiddle.net/v8MNx/1/

HTML

<form action="demo.html" id="myForm">
    <p>
        <label>Date:</label>
        <input type="datetime" name="anniversaire" id="anniversaire"/>
    </p>
    <input type="submit" value="Submit"/>
</form>

JQuery:

//Function found here: https://gist.github.com/ryanburnette/8803238
$.fn.setNow = function (onlyBlank) {
  var now = new Date($.now())
    , year
    , month
    , date
    , hours
    , minutes
    , seconds
    , formattedDateTime
    ;

  year = now.getFullYear();
  month = now.getMonth().toString().length === 1 ? '0' + (now.getMonth() + 1).toString() : now.getMonth() + 1;
  date = now.getDate().toString().length === 1 ? '0' + (now.getDate()).toString() : now.getDate();
  hours = now.getHours().toString().length === 1 ? '0' + now.getHours().toString() : now.getHours();
  minutes = now.getMinutes().toString().length === 1 ? '0' + now.getMinutes().toString() : now.getMinutes();
  seconds = now.getSeconds().toString().length === 1 ? '0' + now.getSeconds().toString() : now.getSeconds();

  formattedDateTime = year + '-' + month + '-' + date + 'T' + hours + ':' + minutes + ':' + seconds;

  if ( onlyBlank === true && $(this).val() ) {
    return this;
  }

  $(this).val(formattedDateTime);

  return this;
}

$(function () {
    // Handler for .ready() called.
    $('input[type="datetime"]').setNow();

});
葛意远
2023-03-14

您可以将其缩短:

<input type="datetime-local" id="cal">
window.addEventListener('load', () => {
  const now = new Date();
  now.setMinutes(now.getMinutes() - now.getTimezoneOffset());
  document.getElementById('cal').value = now.toISOString().slice(0, -1);
});
 类似资料:
  • 我想将datetime local的默认值设置为当前日期和时间(时间应仅包含小时和分钟,如“2014-01-02T11:42”。)使用angularJs。 编辑:下面是我的html代码 angularJs代码 通过这种方法,我可以设置当前日期和时间,但它也包括秒和毫秒。

  • 我住在格林尼治时间9点,我想输入在我当前时区指定的日期和时间。Chrome版本40.0。2214.93(64位) 但是,如果我在日期时间选择器中输入12:00AM, 元素返回的实际值是(通过在Chrome控制台中打印出来),在我的时区等于上午9:00AM。我必须手动将9小时添加到结果中吗?因为Chrome不支持作为输入类型,所以我不能使用作为替换。

  • 我正在尝试使用方法在输入字段中获取当前日期和时间。 我尝试过使用和其他库来执行此操作,但由于某些原因,它无法转换为当前的字段。我做错了什么? 我决定单独使用回到基础,这就是我迄今为止设法做到的。 如果在输入框中将输入类型更改为,则脚本工作正常,但如果更改为datetime local,则脚本不工作。 JsFiddle:jfiddle

  • 有人能解释为什么当我用除: 00以外的秒设置日期时间本地输入的默认值时,浏览器会给我一个“无效值”的错误吗? 这可能是Chrome实现datetime本地的一个错误,因为这个错误没有出现在最新的火狐和Safari中。 Chrome中的错误:30.0。1599.69 铬金丝雀:32.0。1665.2金丝雀 这项工作: 但这并不: 链接到小提琴。 根据日期时间本地输入元素的W3规范,value属性应该

  • 如何使用php或javascript将datetime输入值预设为当前日期和时间?

  • 问题内容: 我需要找到当天创建的帐户,以及最近7天创建的帐户。 为了找到今天的结果,它可以正常工作,我可以这样做: 但是我不知道如何获得最近的7天帐户。 我尝试了类似的方法,但是没有成功: 你有主意吗? 问题答案: 在mysql中: