android 时间戳相关源码
最后更新 2021-02-18 12:47 星期四 所属:
安卓教程 浏览:486
/** * java时间格式是13位的,php后台管理是10位的,因此 要断开 */ private static long timestampConvent(long stamp) { String temp = stamp ""; return Long.parseLong(temp.substring(0, 10)); } /** * 获得今日的时间格式 */ public static long getNowTimeStamp() { return timestampConvent(new Date().getTime()); } /** * 获得明日的时间格式 */ public static long getTomorrowTimeStamp() { Calendar tomrrow = Calendar.getInstance(); tomrrow.add(Calendar.DAY_OF_MONTH, 1); return timestampConvent(tomrrow.getTime().getTime()); } /** * 获得特定時间的时间格式 */ public static long getTimeStamp(String time, String format) { Date date; //留意format的文件格式要与日期String的文件格式相符合 DateFormat sdf = new SimpleDateFormat(format, Locale.CHINA); try { date = sdf.parse(time); } catch (Exception e) { e.printStackTrace(); return -1; } return timestampConvent(date.getTime()); } /** * 把时间格式变为阅读文章友善的字符串数组 * * @param time 10位时间格式,由于服务端传出去的是10位,因此 在android里边应用时必须*1000提升到13位 */ public static String getFormatTime(long time) { Calendar target = Calendar.getInstance(); target.setTime(new Date(time * 1000)); String format = "yyyy年MM月dd日 HH:mm:ss"; Calendar today = Calendar.getInstance(); if (today.get(Calendar.YEAR) == target.get(Calendar.YEAR) && today.get(Calendar.MONTH) == target.get(Calendar.MONTH) && today.get(Calendar.DAY_OF_MONTH) == target.get(Calendar.DAY_OF_MONTH)) { //今日 if (target.get(Calendar.HOUR_OF_DAY) < 3) { format = "零晨 HH:mm:ss"; } else if (target.get(Calendar.HOUR_OF_DAY) < 12) { format = "早上 HH:mm:ss"; } else if (target.get(Calendar.HOUR_OF_DAY) < 18) { format = "中午 HH:mm:ss"; } else { format = "夜里 HH:mm:ss"; } } else { target.add(Calendar.DAY_OF_MONTH, 1);//加1,假如時间为昨日得话,加1以后的时间就是今日了 if (today.get(Calendar.YEAR) == target.get(Calendar.YEAR) && today.get(Calendar.MONTH) == target.get(Calendar.MONTH) && today.get(Calendar.DAY_OF_MONTH) == target.get(Calendar.DAY_OF_MONTH)) { //昨日 format = "昨日 HH:mm:ss"; } else { target.setTime(new Date(time * 1000)); if (target.get(Calendar.YEAR) == today.get(Calendar.YEAR)) { format = "MM月dd日 HH:mm:ss"; } } } return StaticMethod.timestampToString(time "", format); } /** * 10位时间戳转换为特定文件格式的時间字符串数组 */ public static String timestampToString(String time, String format) { if (time.length() > 3) { long temp = Long.parseLong(time) * 1000; Timestamp ts = new Timestamp(temp); String tsStr = ""; DateFormat dateFormat = new SimpleDateFormat(format, Locale.CHINA); try { tsStr = dateFormat.format(ts); System.out.println(tsStr); } catch (Exception e) { e.printStackTrace(); } return tsStr; } else { return ""; } }