Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个日期是什么格式?[17/6/2015 5:50:22 5 -120]_Java_Date_Format_Apache Pig - Fatal编程技术网

Java 这个日期是什么格式?[17/6/2015 5:50:22 5 -120]

Java 这个日期是什么格式?[17/6/2015 5:50:22 5 -120],java,date,format,apache-pig,Java,Date,Format,Apache Pig,上下文:从第三方数据源获取日期,如下所示。我正在使用Pig脚本将此字符串转换为日期 脚本: a= LOAD '/user/hit_data.tsv' using PigStorage('\t'); b= FOREACH a GENERATE $0 as post_t_time_info; c= FOREACH b GENERATE ToDate(post_t_time_info,'DD/MM/YYYY HH:mm:ss e ZZZ') 日期对象采用的示例值: 17/6/2015 5:50

上下文:从第三方数据源获取日期,如下所示。我正在使用Pig脚本将此字符串转换为日期

脚本:

a= LOAD '/user/hit_data.tsv' using PigStorage('\t');  
b= FOREACH a GENERATE $0 as post_t_time_info; 
c= FOREACH b GENERATE ToDate(post_t_time_info,'DD/MM/YYYY HH:mm:ss e ZZZ')
日期对象采用的示例值:

17/6/2015 5:50:22 5 -120
17/6/2015 0:7:6 5 240
我无法理解什么是-120/240。我尝试了时区(ZZZ)和毫秒(SSS),但似乎不正确

我目前使用的格式是'DD/MM/YYYY HH:MM:ss e X',其中X未知,希望为其找到合适的模式

谢谢

参考:
很可能
-120
240
确实是时区偏移。它们很可能是以分钟为单位,而不是以小时为单位。然而,这并没有标准,所以它可以是格林尼治标准时间以东几分钟,或者格林尼治标准时间以西几分钟

换句话说,
-120
可以是
UTC+02:00
,或者
UTC-02:00
240
可以是
UTC+04:00
,或者
UTC-04:00

例如,如果它是从JavaScript的
Date
对象的
getTimezoneOffset
函数中获得的,则符号将与您可能期望的相反。它对西部具有正值,而通常的ISO8601公约对东部具有正值

由于您是获取数据的人,因此您在识别数据来源和消除歧义方面比我们处于更好的位置。如果是第三方提供的,请查看他们的规格,或者联系他们并询问


另外-您说您正在使用ApachePig,但是根据,ToDate函数使用Java的
SimpleDataFormat
-它没有使用与ICU相同的格式限定符,也没有识别以分钟为单位的时区偏移的格式限定符。您可能需要编写自己的函数,而不是只使用内置的
ToDate

如何知道它不是时区偏移?如果使用ZZZ,我会收到错误“无效格式:”17/6/2015 1:15:43 5 240“在”240处格式错误“@CoDEmanX:时区偏移与模式Z不同吗?请让我知道上下文好吗?你在给重症监护室写信吗?ICU4C还是ICU4J?请用ICU和适当的语言标记您的问题。另外-您是说您编写了代码,当您使用该格式时会产生该输出?或者您只是想单独识别格式?请澄清。