【发布时间】:2018-06-14 12:04:57
【问题描述】:
我有一个程序,用户上传一个包含多列的 CSV 文件。第一列是时间,可以是以下任何一种格式。
Format ------ example
ofLocalizedDate(dateStyle) ----- '2011-12-03'
ofLocalizedTime(timeStyle) ----- '10:15:30'
ofLocalizedDateTime(dateTimeStyle) ------ '3 Jun 2008 11:05:30'
ofLocalizedDateTime(dateStyle,timeStyle) ----- '3 Jun 2008 11:05'
BASIC_ISO_DATE ------ '20111203'
ISO_LOCAL_DATE ------ '2011-12-03'
ISO_OFFSET_DATE ------ '2011-12-03+01:00'
ISO_DATE ------ '2011-12-03+01:00'; '2011-12-03'
ISO_LOCAL_TIME ------ '10:15:30'
ISO_OFFSET_TIME ------ '10:15:30+01:00'
ISO_TIME ------ '10:15:30+01:00'; '10:15:30'
ISO_LOCAL_DATE_TIME ------ '2011-12-03T10:15:30'
ISO_OFFSET_DATE_TIME ------ 2011-12-03T10:15:30+01:00
ISO_ZONED_DATE_TIME ------ '2011-12-03T10:15:30+01:00[Europe/Paris]'
ISO_DATE_TIME ------ '2011-12-03T10:15:30+01:00[Europe/Paris]'
ISO_ORDINAL_DATE ------- '2012-337'
ISO_WEEK_DATE ------ 2012-W48-6
ISO_INSTANT ------ '2011-12-03T10:15:30Z'
RFC_1123_DATE_TIME ------ 'Tue, 3 Jun 2008 11:05:30 GMT'
Unix seconds ----- 1528972575
Unix Milliseconds ----- 1491979683469
Unix Microseconds
MM/DD/YYYY HH:mm:ss
YYYY-MM-DD HH:mm:ss
我想用 JavaScript 编写一个在浏览器上运行的程序,以便我首先读取 CSV,然后从文件中显示时间格式。
文件读取完成。
但是我不知道如何在所有这些时间和文件中的时间之间进行检查。
任何帮助表示赞赏!
谢谢!
【问题讨论】:
-
如果本地化的可以在任何语言环境中,那是不可能的。如果您知道语言环境,则可以依次尝试所有可能的格式并查看哪种格式有效。您还需要知道时区或偏移量,因为并非所有格式都包含此信息。最后,您需要知道一个合理的日期时间范围来区分 Unix 秒、毫秒和微秒。
-
你为什么要接受这样的任意值作为输入?这是没有意义的。一般地解析这样一系列可能的格式是不可能的。本地化的值可以使用任何语言环境。您列出的输入范围甚至不是同一种含义。 “本地...”类型不附加到时间线,并且不代表一个时刻,一种与具有偏移或区域的动物完全不同的动物。仅日期、时间和日期与时间是三种不同的事物。你的问题对我来说似乎很荒谬。投票结束。
标签: javascript java html time java-time