.
If I make a select query - .
( , -), , . , MySQL , .
, MySQL, . ... google " utc".
, : , .
, , . , "" " " " ".
, . +05: 30 "/", "/" . 5,5 UTC/GMT.
Joda
java.util.Date Calendar, , , . . Joda-Time, Java 8 java.time. * classes ( Joda-Time).
Joda-Time 2.3 Java 8 Mac .
Baseline
, 1389975349000L ≈ 16:15 UTC ≈ 21:45 .
EpochConverter.com, .
DateTimeZone timeZoneKolkata = DateTimeZone.forID( "Asia/Kolkata" );
long millis = 1389975349000L;
DateTime dateTimeUtc = new DateTime( millis, DateTimeZone.UTC );
DateTime dateTimeKolkata = dateTimeUtc.toDateTime( timeZoneKolkata );
...
System.out.println( "millis: " + millis );
System.out.println( "dateTimeUtc: " + dateTimeUtc );
System.out.println( "dateTimeKolkata: " + dateTimeKolkata );
...
millis: 1389975349000
dateTimeUtc: 2014-01-17T16:15:49.000Z
dateTimeKolkata: 2014-01-17T21:45:49.000+05:30
: 1389955549000L.
, , .
, 1389955549000L ≈ 10:45 UTC ≈ 16:15 .
long mysteryMillis = 1389955549000L;
DateTime mysteryUtc = new DateTime( mysteryMillis, DateTimeZone.UTC );
DateTime mysteryKolkata = mysteryUtc.toDateTime( timeZoneKolkata );
...
System.out.println( "mysteryMillis: " + mysteryMillis );
System.out.println( "mysteryUtc: " + mysteryUtc );
System.out.println( "mysteryKolkata: " + mysteryKolkata );
...
mysteryMillis: 1389955549000
mysteryUtc: 2014-01-17T10:45:49.000Z
mysteryKolkata: 2014-01-17T16:15:49.000+05:30
100%, ...
→ -, , , UTC, .
-, -, 16:15 , , -, 21:45. , .
UTC UTC = WRONG.
, .
, "16:15" .
java.util.Date , Java Virtual Machine toString. , .
java.util.Date, java.util.Calendar java.text.SimpleDateFormat. .
Joda-Time java.time. * (JSR 310).
, .
. Verify by googling " utc".
UTC GMT, . , "/" , UTC/GMT - .
JVM TimeZone.setDefault ( ). , , JVM. , . . JVM . Joda-Time, java.time , . , OS UTC, , Java.