Android贴吧系统学习-----对时间的处理方法

时间:2022-06-25
本文章向大家介绍Android贴吧系统学习-----对时间的处理方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.需要做类似贴吧系统,必须要知道当前的帖子是几秒前发出的,还是几分前,几小时前,以及标准时间

对时间需要专门处理一个函数:

public class TimeHandler {
	public TimeHandler() {
	}

	@SuppressLint("SimpleDateFormat")
	public String handle(String time) {
		// 解析时间
		String result = "";
		Long current = System.currentTimeMillis();
		Long millionTime = Long.parseLong(time);
		Long delta = current - millionTime;
		if ((delta / 1000) / 60 < 1) {
			if ((delta / 1000) / 60 == 0)
				result = "2秒前";
			else
				result = (delta / 1000) + "秒前";
		} else {
			if ((delta / 1000) / 60 < 60)
				result = (delta / 1000) / 60 + "分前";
			else {
				if ((delta / 1000) / 3600 < 24)
					result = (delta / 1000) / 3600 + "小时前";
				else {
					SimpleDateFormat formatter = new SimpleDateFormat(
							"yyyy-MM-dd");
					Date date = new Date(millionTime);
					result = formatter.format(date);
				}
			}
		}
		return result;
	}
}

System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,

Date()其实就是相当于Date(System.currentTimeMillis());

因为Date类还有构造Date(long date),用来计算long秒与1970年1月1日之间的毫秒差。

得到了这个毫秒数,我们自己也可以算起现在的年月日周时,但是这不是我们去计算的,因为有Calendar。

Calendar最终出的结果就是年月日周时时区。

System.currentTimeMillis() 获得的是自1970-1-01 00:00:00.000 到当前时刻的时间距离,类型为long

String.valueOf(System.currentTimeMillis()) 这个语句可转为以下的型式: long ct = System.currentTimeMillis();

String t = String.valueOf(ct); 其实上面的String t就相当于 ct+"";只是转为字符串格式

public String refFormatNowDate() {   Date nowTime = new Date(System.currentTimeMillis());   SimpleDateFormat sdFormatter = new SimpleDateFormat("yyyy-MM-dd");   String retStrFormatNowDate = sdFormatter.format(nowTime);

  return retStrFormatNowDate; }