如果我尝试以下代码,例如:
我将日期设定为2014年7月25日星期五上午10:00。它以毫秒为单位给出日期1402080056000
,
现在,如果我尝试读取与以下相同的毫秒数
long time = 1402080056000;
Date mydate = new Date(time);
mydate变量将日期显示为Sat Jun 25 00:10:56 IST 2014
String DateTimeString = DateFormat.getDateTimeInstance().format(new Date(time));
使用DateTimeString中的上述语句,我的日期为Jun 25 , 2014 12:10:56 AM
如何阅读1402080056000 to Fri July 25 2014 10:00 AM
答案 0 :(得分:3)
只需要处理格式字符串
String dateTimeString=
String.valueOf(new SimpleDateFormat("dd-MM-yyyy hh:mm").format(new Date(time)));
明确设定时区:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm");
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
String result = String.valueOf(dateFormat.format(millis));
此外,这将非常有用Regarding Timezones and Java
答案 1 :(得分:0)
尝试以下代码:
private String convertMilliToDate(long timestamp) {
DateFormat formatter = new SimpleDateFormat("YOUR DATE FORMAT");
// Create a calendar object that will convert the date and time value in
// milliseconds to date.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
return formatter.format(calendar.getTime());
}
答案 2 :(得分:0)
试试这个:
String date= DateFormat.format("dd/MM/yyyy hh:mm:ss", new Date(date_in_milis)).toString();
答案 3 :(得分:0)
使用适用于Android的Joda-Time库,可以更轻松地完成日期工作。
long millis = 1402080056000L;
DateTimeZone timeZoneIndia = DateTimeZone.forID( "Asia/Kolkata" );
DateTime dateTimeIndia = new DateTime( millis, timeZoneIndia );
DateTime dateTimeFrance = dateTimeIndia.withZone( DateTimeZone.forID( "Europe/Paris" ) );
DateTime dateTimeUtc = dateTimeIndia.withZone( DateTimeZone.UTC );
要将字符串解析为日期时间,请搜索StackOverflow以进行" Joda解析"找到很多例子。