我的表单上有一个本地日期时间的html控件,我需要通过JS或jQuery动态地设置日期和时间,我该怎么做?
<input type="datetime-local" id="publishDate" required/>
我试过了
$("#publishDate").val("2013-3-18 13:00");
$("#publishDate").val("2013-3-18T13:00");
$("#publishDate").val(new Date().toLocalString());
但都没用。
9条答案
按热度按时间piok6c0g1#
这就行了
您需要使用2位数的月份才能使您的示例工作。
2jcobegt2#
如果要设置当前日期,则可以尝试以下操作:
***注意:***您可以将$('input [type=datetime-local]')替换为本地日期时间字段的
Id
、Name
或Class
。EDIT:d.getMonth()返回一个0-11之间的值,因此要输入正确的月份,需要在结果中加上1。
ebdffaop3#
关于什么的?
pepwfjgg4#
我写了一个jQuery method that sets the current UTC time,它对初始化
datetime
和datetime-local
输入字段很有用。下面是如何使用它来初始化字段。
或者传递参数
true
以仅设置没有值的字段。ws51t4hk5#
这里有一个使用momentjs格式化日期的解决方案。
这将获取当前日期和时间
mw3dktmi6#
这里有一个更简单的方法。
eni9jsuy7#
这个组件是混乱的,因为它还没有被正确地指定。实现也可能是古怪的。
正确的方法应该是传递一个日期对象,对于JS和DOM来说,没有这个对象是没有意义的。使用字符串操作会调用Zalgo。迟早它会与语言环境或时区脱节。
我一直在寻找这样的东西,并在Chrome 46发现:
如果不删除秒和毫秒,它们将显示在输入字段中。
还有一个valueAsDate属性,但很神秘:
所以他们还没有完成它的实现,或者为该属性选择了一个错误的名称(即使设置了一些内容,它也显示为null)。
xuo3flqw8#
对于那些日期为字符串格式且中间有"T"字符的用户,
将10个字符(空格)替换为T
代码如下:
OP错误地提供了日期"2013年3月18日13:00"
其中月份应为"03"
ecr0jaav9#
使用矩,可以执行以下操作。
1.如果要使用当前日期。
$(“#发布日期”).瓦尔(时刻().格式(“年-月-日:月”));
1.如果您有指定的日期。
$(“#发布日期”).瓦尔(时刻(您的日期).格式('YYYY-MM-DDTHH:MM'));