我有一个由jQuery/JS填充的输入。目前,它使用类似于此2017-3-7的日期值填充输入,但我希望它是2017-03-07。
我这里有一个jsfiddle:https://jsfiddle.net/ua8rngzw/
代码如下:
(function ($) {
$(document).ready(function() {
var now = new Date();
var created = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate();
$('#created').val(created);
});
})(jQuery); 做这样一件事最简单、最快捷的方法是什么?
发布于 2017-03-08 04:31:47
我们可以创建一个简单的函数,它接受一个值,并根据它的长度在它前面加上一个零。然后,获取日期部分并通过函数运行它们:
(function ($) {
$(document).ready(function() {
var now = new Date();
var created = now.getFullYear() + '-' +
fixDigit(now.getMonth() + 1) +
'-' + fixDigit(now.getDate());
$('#created').val(created);
});
// Utility function to prepend zeros to single digits:
function fixDigit(val){
return val.toString().length === 1 ? "0" + val : val;
}
})(jQuery);<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="created">
发布于 2017-03-08 04:28:22
(function ($) {
$(document).ready(function() {
var now = new Date();
mo = now.getMonth() + 1;
if (mo < 10) {
mo = "0" + mo;
}
date = now.getDate();
if (date < 10) {
date = "0" + date;
}
var created = now.getFullYear() + '-' + mo + '-' + date;
$('#created').val(created);
});
})(jQuery); 发布于 2017-03-08 04:30:18
可能的解决方案是:
(function ($) {
$(document).ready(function() {
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
}
var created = yyyy+'-'+mm+'-'+gg;
document.write(created);
})(jQuery); https://stackoverflow.com/questions/42657632
复制相似问题