Ram*_*mji 6 java datetime android epoch datetime-format
StrDate ="2011-07-19T18:23:20 + 0000";
如何在android中获得上述日期格式的纪元时间
我也想知道如何将纪元时间转换为上述日期格式.
我希望通过一个例子直接回答.
使用Joda-Time 2.3的示例代码.
如何在android中获得上述日期格式的纪元时间
DateTime dateTimeInUtc = new DateTime( "2011-07-19T18:23:20+0000", DateTimeZone.UTC );
long secondsSinceUnixEpoch = ( dateTimeInUtc.getMillis() / 1000 ); // Convert milliseconds to seconds.
Run Code Online (Sandbox Code Playgroud)
…和…
如何将纪元时间转换为上述日期格式.
String dateTimeAsString = new DateTime( secondsSinceUnixEpoch * 1000, DateTimeZone.UTC ).toString();
Run Code Online (Sandbox Code Playgroud)
要将这些值转储到控制台......
System.out.println( "dateTimeInUtc: " + dateTimeInUtc );
System.out.println( "secondsSinceUnixEpoch: " + secondsSinceUnixEpoch );
System.out.println( "dateTimeAsString: " + dateTimeAsString );
Run Code Online (Sandbox Code Playgroud)
奖励:调整到另一个时区.
DateTime dateTimeMontréal = dateTimeInUtc.withZone( DateTimeZone.forID( "America/Montreal" ) );
Run Code Online (Sandbox Code Playgroud)
你应该使用SimpleDateFormat.该类都支持格式化和解析.
示例代码:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZZZZ");
Date gmt = formatter.parse("2011-07-19T18:23:20+0000");
long millisecondsSinceEpoch0 = gmt.getTime();
String asString = formatter.format(gmt);
Run Code Online (Sandbox Code Playgroud)
请注意,Java中的Date实例始终表示自纪元0以来的毫秒数(UTC/GMT),但在打印时以本地时间打印.