将毫秒转换为日期

时间:2014-11-13 10:58:14

标签: java datetime

服务器发送时间为1390361405210 + 0530所以如果我想将此转换为日期,那么我是否必须将0530添加到1390361405210然后计算日期和时间?

任何建议都应该受到赞赏。谢谢

3 个答案:

答案 0 :(得分:1)

public static void main( String[] args )
{
    DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    long milliSeconds=1390361405210L;
    Date date = new Date(milliSeconds);
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(milliSeconds);
    System.out.println(formatter.format(calendar.getTime())); 
    System.out.println(formatter.format(date)); 
}

答案 1 :(得分:1)

这个怎么样。

    long currentDateTime = 1390361405210L;
    Date currentDate = new Date(currentDateTime);
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss Z");
    sdf.setTimeZone(TimeZone.getTimeZone("GMT+530"));
    System.out.println(sdf.format(currentDate));

答案 2 :(得分:0)

如果我们认为String的第一部分是自the epoch以来的毫秒数,第二部分是时区指示(在这种情况下,IST,印度标准时间),你可以获得这样的可读日期:

final String jsonDate = "1390361405210+0530";
final Date date = new Date(Long.parseLong(jsonDate.substring(0, jsonDate.length() - 5)));
final DateFormat format = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.FULL, Locale.US);
format.setTimeZone(TimeZone.getTimeZone("GMT" + jsonDate.substring(jsonDate.length() - 5)));
System.out.println(format.format(date));

输出:

  

2014年1月22日上午9:00:05 GMT + 05:30