代码之家  ›  专栏  ›  技术社区  ›  Stefan Kendall

指定HTML5输入类型=日期的值输出?

  •  30
  • Stefan Kendall  · 技术社区  · 14 年前

    我想将本地日期选择程序添加到我的应用程序中,该应用程序当前使用的是传统的、家庭滚动的系统。日期输入支持还没有广泛应用,但是如果我能够基于兼容性展示这两种实现,那将是理想的。

    是否有任何方法指定HTML日期选取器给定值的输出?Opera的默认值为 yyyy-mm-dd 我非常明确地需要 dd-MMM-yyyy .

    目前有没有办法控制这个输出?

    3 回复  |  直到 11 年前
        1
  •  24
  •   Nick B    14 年前

    这个 HTML5 date input 字段特定于其使用的格式: RFC 3339 full-date

    是否可以将旧日期选取器更改为使用YYYY-MM-DD格式(并更新读取该格式的服务器端)?

    我假设不是,那么您可以添加一些javascript粘合代码,用于监听HTML5输入上的更改事件,并更新隐藏的日期值字段以匹配旧日期选取器的格式(将YYYY-MM-DD转换为DD-MMM-YYYY)。

        2
  •  15
  •   Lg102    12 年前

    在Google Chrome中,这一点最近发生了变化。显示给用户的值现在基于操作系统区域设置。读数,所以 input.value ,始终返回为 yyyy-mm-dd 但是,不管演示文稿的格式如何。

    在我看来更有用。

    来源:

    http://updates.html5rocks.com/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome

        3
  •  0
  •   TxRegex    11 年前

    HTML日期字段的格式是标准的。虽然无法更改此设置,但如果用户启用了javascript,则可以轻松地将日期对象转换为要查找的格式。

    // Converts any valid Date string or Date object into the format dd-MMM-yyyy
    function dateTransform(d) {
        var s = (new Date(d)).toString().split(' ');
        return [s[2],s[1],s[3]].join('-');
    }
    

    否则,您将需要以ISO格式提交并实现服务器端解决方案。也许随着时间的推移,这可能会导致在每个地区更多地使用标准日期格式。