[
https://issues.apache.org/jira/browse/HIVE-18358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16309927#comment-16309927
]
Andrew Sherman commented on HIVE-18358:
---------------------------------------
I tried
{noformat}
long unixtime = 1514754599;
SimpleDateFormat formatter = new SimpleDateFormat("YYYY-MM-dd HH-mm-ss");
formatter.setTimeZone(TimeZone.getTimeZone("Europe/London"));
Date date = new Date(unixtime * 1000L);
System.out.println("date = " + formatter.format(date));
{noformat}
which gives output
{noformat}
date = 2018-12-31 21-09-59
{noformat}
So it seems like the problem may be with SimpleDateFormat itself?
> from_unixtime returns wrong year for Dec 31 timestamps with format 'YYYY'
> -------------------------------------------------------------------------
>
> Key: HIVE-18358
> URL: https://issues.apache.org/jira/browse/HIVE-18358
> Project: Hive
> Issue Type: Bug
> Affects Versions: 2.1.0
> Environment: AWS EMR with Hive 2.1.0-amzn-0
> Reporter: Nick Orka
> Assignee: Andrew Sherman
> Labels: timezone
>
> If you use capital Ys as a year format in from_unixtime() it returns next
> year for Dec 31 only. All other days work as intended.
> Here is reproduction code:
> {code:sql}
> hive> select from_unixtime(1514754599, 'YYYY-MM-dd HH-mm-ss'),
> from_unixtime(1514754599, 'yyyy-MM-dd HH-mm-ss');
> OK
> 2018-12-31 21-09-59 2017-12-31 21-09-59
> Time taken: 0.025 seconds, Fetched: 1 row(s)
> hive>
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)