如何将currentTimeMillis转换为Java中的日期?

如何将currentTimeMillis转换为Java中的日期?

我在服务器中生成的某个日志文件中有毫秒数,我也知道生成日志文件的语言环境,我的问题是将指定格式的毫秒转换为日期。该日志的处理发生在位于不同时区的服务器上。转换为“SimpleDateFormat”程序时,机器的日期是这样的,因为这样的格式化日期并不代表服务器的正确时间。有没有办法优雅地处理这个问题?


long yourmilliseconds = 1322018752992l;

        //1322018752992-Nov 22, 2011 9:25:52 PM 


SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS",Locale.US);


GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central"));

calendar.setTimeInMillis(yourmilliseconds);


System.out.println("GregorianCalendar -"+sdf.format(calendar.getTime()));


DateTime jodaTime = new DateTime(yourmilliseconds, 

                    DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central")));

DateTimeFormatter parser1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss,SSS");


System.out.println("jodaTime "+parser1.print(jodaTime));

输出:


Gregorian Calendar -2011-11-23 08:55:52,992

jodaTime 2011-11-22 21:25:52,992


繁花不似锦
浏览 881回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java