我使用以下代码来设置 diji-6ren">
gpt4 book ai didi

dojo - dijit.form.DateTextBox 设置值

转载 作者:行者123 更新时间:2023-12-01 00:03:06 24 4
gpt4 key购买 nike

我有以下带有 dojo dojo Date 文本类型的文本字段。

dojoType="dijit.form.DateTextBox" required="true"/>



我使用以下代码来设置 dijit.form.DateTextBox 值

dijit.byId('dtinv').attr('value',new Date(tList[i].getAttribute("dtinv"))) ;



tList[i].getAttribute("dtinv") 有值 2010-04-02

设置值后,我看到 4/1/2010。道场日期框中的日期总是显示少一天。
有什么我应该注意的吗?

最佳答案

Dojo 和 Dijit 在本地时间处理日期,而不是 GMT,这本身可能是一个糟糕的设计选择,但鉴于此,如果您使用 dojo.date.stamp.fromISOString()或在 HTML 中传递字符串“2010-04-02”作为 value 属性,您将在本地时间 4 月 2 日午夜获得。将它传递给 Dijit,它会很高兴。在 Javascript 中使用新的 ES5 Date 构造函数会有不同的结果:

(我在东部时区)

>>> new Date("2010-04-02")
Thu Apr 01 2010 20:00:00 GMT-0400 (EST) {}

在 GMT 中定义日期。但是,以下对象将按预期与 Dijit 一起工作:
>>> new Date(2010, 3, 2)
Fri Apr 02 2010 00:00:00 GMT-0400 (EST) {}

此外,当涉及到字符串时,Javascript 的新 Date 构造函数定义很差。我不确定您得到的结果在所有浏览器中是否一致。建议您使用 dojo.date.stamp.fromISOString("2010-04-02")获取相应的 Date 对象,或 ES5 ISO 日期方法,在较新的浏览器中可用。

关于dojo - dijit.form.DateTextBox 设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2559623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com