服务器发送时间为1390361405210 + 0530所以如果我想将此转换为日期,那么我是否必须将0530添加到1390361405210然后计算日期和时间?
任何建议都应该受到赞赏。谢谢
答案 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