日期时间类型的Html输入是
Datefield:
<input type="datetime-local" data-date="" data-date-format="DD MMMM YYYY, h:mm:ss">
脚本包含以下代码。
$("input").val(moment().format('YYYY-MM-DD, h:mm:ss'));
$("input").on("change", function() {
this.setAttribute(
"data-date",
moment(this.value)
.format( this.getAttribute("data-date-format") )
)
}).trigger("change")
我已提到http://jsfiddle.net/g7mvaosL/
其中可以改变日期模式。
以类似的方式,我尝试使用type =&#34; datetime-local&#34;那它不起作用。
如何解决这个问题。
答案 0 :(得分:1)
日期选择器返回年,月和日
a
你要求它以及额外的小时,分钟,秒: date 选择器无法做到的事情。
我猜你想用h:mm:ss的当前时间?在你的代码中,你现在就把它设置为现在
console.log(this.value); //returns 2015-08-09
但这只发生一次,所以你需要在on change事件中移动这一行。
然而,没有桥梁可以让你一起添加两个时刻,因为它没有意义。今天+明天添加会使当前年份,月份等增加一倍。相反,您必须使用moment.duration()。如果将时刻定义为单个时间点,则将持续时间定义为时间长度。我写了一个函数,通过定位我们需要的值来帮助解决这个问题。
$("input").val(moment().format('YYYY-MM-DD, h:mm:ss'));
现在你可以使用moment.add()。
function nowAsDuration(){
return moment.duration({
hours: moment().hour(),
minutes: moment().minute(),
seconds: moment().second()
});
}