Android(安卓)时间戳的转换
在Android应用中,经常会碰到后台的时间是时间戳而现实的需要今天什么时候,昨天什么时候,就像微博的时间显示一样。现在我上一个把时间戳转换的代码:
public static String getTime(int timestamp) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = null;
try {
java.util.Date currentdate = new java.util.Date();// 当前时间
long i = (currentdate.getTime() / 1000 - timestamp) / (60);
Timestamp now = new Timestamp(System.currentTimeMillis());// 获取系统当前时间
String str = sdf.format(new Timestamp(IntToLong(timestamp)));
time = str.substring(11, 16);
String year = str.substring(0, 4);
String month = str.substring(5, 7);
String day = str.substring(8, 10);
System.out.println(str);
System.out.println(time);
System.out.println(getDate(year, month, day));
time = getDate(year, month, day) + time;
} catch (Exception e) {
e.printStackTrace();
}
return time;
}
// java Timestamp构造函数需传入Long型
public static long IntToLong(int i) {
long result = (long) i;
result *= 1000;
return result;
}
public static String getDate(final String year, final String month,
final String day) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 24小时制
java.util.Date d = new java.util.Date();
String str = sdf.format(d);
String nowmonth = str.substring(5, 7);
String nowday = str.substring(8, 10);
String result = null;
int temp = Integer.parseInt(nowday) - Integer.parseInt(day);
switch (temp) {
case 0:
result = "今天";
break;
case 1:
result = "昨天";
break;
case 2:
result = "前天";
break;
default:
StringBuilder sb = new StringBuilder();
sb.append(year).append("-");
sb.append(month).append("-");
sb.append(day).append(" ");
result = sb.toString();
break;
}
return result;
}
更多相关文章
- android获取时间差的方法
- Android(安卓)中获取控件宽和高的方法(详细解析)
- 【Android】ArrayList通过remove方法删除元素对象源码分析
- 详解React Native开源时间日期选择器组件(react-native-datetime
- [转] Android(安卓)achartengine统计图
- Android获取时间
- Android使用自定义view在指定时间内匀速画一条直线的实例代码
- Android应用开发UI(日期和时间)
- ios中getTime()的兼容性实例代码