【问题标题】:Set Html5 Datepicker value from string从字符串设置 Html5 Datepicker 值
【发布时间】:2020-01-19 22:40:08
【问题描述】:

我可以将值设置为今天的日期,但我似乎无法根据自定义日期字符串设置值。我已经在下面的代码中展示了我想要做什么的想法。

我必须使用我在下面指定的日期字符串格式,这样不能更改,但是日期字符串的格式可以修改吗?

var newDate = new Date();    
newDate = "30/03/2020 12:00:00 AM";

$('#datePickerId').val(newDate);

error:
jquery.min.js:4 The specified value "30/03/2020 12:00:00 AM" does not 
conform to the required format, "yyyy-MM-dd".

【问题讨论】:

  • 您正在创建一个新的Date 变量,然后立即用字符串覆盖它。首先使用正确格式的字符串(即var newDate = '2020-03-30;)或正确设置日期变量(即var newDate = new Date(2020, 2, 30); [JavaScript 月份从 0 开始])。
  • 我明白这一点,但我需要知道的是,是否有一种聪明的方法可以更改日期格式?我对该日期进行了硬编码,以使示例尽可能简单,但在我的项目中,我一直使用这种格式。如果可以的话,我不想弄乱子字符串
  • 你能使用像 moment.js 或 fecha.js 这样的库吗?

标签: javascript jquery html datetime datepicker


【解决方案1】:

您可以通过以下两种方式做到这一点。 newDate1 : Javascript 日期时间 newDate2:时刻js

$(document).ready(function(){
var newDate1 = new Date(2020,03,30);    
console.log(newDate1);
var mm = newDate1.getMonth();
var dd = newDate1.getDate();
var aa = newDate1.getFullYear() +"-" + (mm < 10? "0":"") +mm +"-" + (dd < 10? "0":"") + dd;
$('#datePickerId1').val(aa);

var newDate2 = moment("30/03/2020 12:00:00 AM","DD/MM/YYYY hh:mm:ss A").format("YYYY-MM-DD");
//console.log(newDate2);
$('#datePickerId2').val(newDate2);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>


<h1>Show a date control:</h1>

  First: <input type="date" name="bday" id=datePickerId1><br/>
  Second: <input type="date" name="bday" id=datePickerId2>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 2021-01-21
    • 1970-01-01
    • 2016-01-24
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多