繁体   English   中英

HTML输入类型的日期和时间,不带时区偏移

[英]HTML input type date and time without timezone offset

我正在使用HTML5输入日期和输入时间进行离子显影。 默认情况下,它绑定为ISO日期字符串,并更改为UTC日期时间。 当用户选择日期2016-06-06时,这对我来说似乎是错误的,取决于时区偏移量,它可能已变为2016-06-07或2016-06-05。 输入类型=时间的情况类似。

我的目的是使ISO字符串中的日期保留用户选择的日期,而不是用时区差补偿它。

类似于输入datetime-local,但似乎移动设备不支持datetime-local。

我发现类似输入type =“ date-local”或“ time-local”的东西。

首先,有趣的是, 已从HTML5标准中删除了type =“ datetime”,而只存在“ datetime-local”,但似乎并不是每个移动浏览器都实现它。 对于type =“ date”,它没有时间成分,因此直接使用UTC日期即可。 的确,将UTC日期d转换为本地有点荒谬:

  • 新日期(d.toLocaleDateString())

要么

  • d.setMinutes(d.getMinutes()+d.getTimezoneOffset())

要么

  • new Date(+d+d.getTimezoneOffset()*60000)

但你能做什么呢?

Javascript日期始终为UTC,但是您可以获取本地值以及此处显示的内容: http : //www.w3schools.com/jsref/jsref_obj_date.asp

getUTCHours()返回小时,根据通用时间(从0-23开始)getHours()返回小时(从0-23开始)

第一个始终将根据输入内容转换为UTC。 第二个将使用时区偏移量来计算应返回的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM