package com.example.currenttime;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class Functions {
private static long converTimeStringINToMillis1(String time) {
long milliseconds = 0;
try {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
// 25/06/2014 8:41:26
Date date;
date = sdf.parse(time);
milliseconds = date.getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
milliseconds = 0;
e.printStackTrace();
}
return milliseconds;
}
public static String setLastSeenTime1(String time) {
long milliseconds = Math.abs(System.currentTimeMillis()
- converTimeStringINToMillis1(time));
String lastSeen = "";
int seconds = (int) milliseconds/1000;
if (seconds < 60)
lastSeen = String.valueOf(seconds) + "sec ago";
else if (seconds > 60 && seconds < 3600)
lastSeen = String.valueOf((int) seconds/60) + " min ago";
else if (seconds > 3600 && seconds < 86400)
lastSeen = String.valueOf((int) seconds/3600) + " hours ago";
else if (seconds > 86400 && seconds < 172800)
lastSeen = " Yesterday";
else if (seconds > 172800 && seconds < 2592000)
lastSeen = String.valueOf((int) (seconds/(24 * 3600)))
+ " days ago";
else if (seconds > 2592000)
lastSeen = String.valueOf((int) (seconds/(30 * 24 * 3600)))
+ " months ago";
return lastSeen;
}
}
我有显示逆时我调用这个函数使用这个Android的代码:如何从美国时间获取反向时间的Android
btn_retry.setText(Functions.setLastSeenTime1("09/10/2014 8:41:26 AM"))
但问题是,我得到它位于服务器时间我们必须根据当地时间ZOne显示,以便我可以看到推出尊敬的时间,请建议我如何做我的错在哪里请帮助。
它似乎是将世界协调时间设置为时区...所以你可以详细说明你正在寻找哪个时区。 – Toppers 2014-10-09 11:38:05
UTC我想包括 – Edge 2014-10-09 11:40:00
转换时间Utc和手段设备时间和服务器时间的基础上,我们必须找到差异,我们必须显示在文本视图 – Edge 2014-10-09 11:41:23