这个问题今天已经被问过,但所有者似乎已经删除了它(即使它有 4 票赞成)。不过这个问题太有趣了,我决定再次自己发帖。
我有一个 Javascript 对象,它有一个带有日期字符串的属性。
现在我想为该属性设置一个新的日期时间,但是在不知道其格式的情况下如何设置新数据?
示例日期时间如下所示“2018-01-01T20:09:00”
这个问题可以分为2个答案。
识别当前提到的格式并将相同的格式设置为对象属性。(如果有人说这是什么类型的日期时间格式,这似乎很容易实现)
确定一些确定任何日期时间格式并将给定日期时间转换为设置对象属性的通用解决方案。
Tl;Dr
你不能这样做,这是不可能的。
这里卖很多蛇油。
日期格式并不相互排斥,两种(或多种)格式可能看起来相同,但值代表日期的不同部分。这使得从字符串确定日期格式实际上是不可能的。
例如, 01/02/2022
is 2022 年 2 月 1 日英国格式和2022 年 1 月 2 日美国格式。所以给定字符串01/02/2022
您无法确定这是英国格式还是美国格式。
给定一个想象的方法returnFormat("01/02/2022")
您期望这里得到什么回应?它可能返回 en-US 或 en-GB 或其他重叠格式。
日期格式的设计并未考虑到计算机解析。唯一为计算机设计的日期格式是ISO 8601 格式 (e.g. 2008-05-11T15:30:00Z
) 其中可以包括 UTC 偏移量。所以有时与Z是 UTC 和+01:00将是 UTC +1。这种格式是专门选择的,以免与任何人类可读格式冲突以解决上述问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)