Android 时间转换 今天 昨天 前天 的样式

今天整理到一个需求是 如果是今天的时间只需要显示时分就好 要是昨天的就显示 昨天 前天的显示前天 其他的就显示年月日时分秒了

代码如下

/**
	 * 和当前时间比较
	 */
	public static String getMyData(String start) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
		long s1 = Long.parseLong(start);
		Date date1 = new Date(s1);
		Date date2;
		date2 = new Date(System.currentTimeMillis());
		// 现在这条消息的时间
		String str1 = simpleDateFormat.format(date1);
		int year1 = Integer.parseInt(str1.substring(0, 4));
		int month1 = Integer.parseInt(str1.substring(5, 7));
		int day1 = Integer.parseInt(str1.substring(8, 10));
		int h1 = Integer.parseInt(str1.substring(11, 13));
		int m1 = Integer.parseInt(str1.substring(14, 16));

		// 现在的时间
		String str2 = simpleDateFormat.format(date2);
		int year2 = Integer.parseInt(str2.substring(0, 4));
		int month2 = Integer.parseInt(str2.substring(5, 7));
		int day2 = Integer.parseInt(str2.substring(8, 10));
		int h2 = Integer.parseInt(str2.substring(11, 13));
		int m2 = Integer.parseInt(str2.substring(14, 16));

		if (year2 > year1) {
			return year1 + "-" + str1.substring(5, 7) + "-" + str1.substring(8, 10);
		} else if (month2 > month1) {
			return year1 + "-" + str1.substring(5, 7) + "-" + str1.substring(8, 10);
		} else if (day2 > day1) {
			if (day2 - day1 > 2) {
				return year1 + "-" + str1.substring(5, 7) + "-" + str1.substring(8, 10);
			} else if (day2 - day1 == 2) {
				return "前天";
			} else if (day2 - day1 == 1) {
				return "昨天";
			} else {
				return str1.substring(11, 13) + ":" + str1.substring(14, 16);
			}
		} else {
			return str1.substring(11, 13) + ":" + str1.substring(14, 16);
		}
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值