`

格式化时间工具类

阅读更多
package com.dietime1943.core.utils;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 格式化各类时间
 * @author dietime1943
 * @blog http://dietime1943.iteye.com/
 *
 */
public class TimeFormatUtil {
	
	public static String forMatTime(String tempTime) throws Exception{
		
		String normalTime = "";
		
		//2小时前
		if (tempTime.endsWith("小时前")) {
		
			Date currtDate = new Date();
			SimpleDateFormat norsf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//			String tempTime = "2小时前";
			long time = Long.parseLong(tempTime.substring(0, tempTime.indexOf("小时前")));
			time = currtDate.getTime() - time*60*60*1000;
			
			
			normalTime = norsf.format(new Date(time)).replaceAll("1970", "2012");
		
//			System.err.println(normalTime);
			
			// 5分钟前
		}else if (tempTime.endsWith("分钟前")) {
			Date currtDate = new Date();
			SimpleDateFormat norsf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//			String tempTime = "30分钟前";
			long time = Long.parseLong(tempTime.substring(0, tempTime.indexOf("分钟前")));
			time = currtDate.getTime() - time*60*1000;
			
			
			normalTime = norsf.format(new Date(time)).replaceAll("1970", "2012");
		
//			System.err.println(normalTime);
			
			
			// 22秒前
		}else if (tempTime.endsWith("秒前")) {
			Date currtDate = new Date();
			SimpleDateFormat norsf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//			String tempTime = "30秒前";
			long time = Long.parseLong(tempTime.substring(0, tempTime.indexOf("秒前")));
			time = currtDate.getTime() - time*1000;
			
			
			normalTime = norsf.format(new Date(time)).replaceAll("1970", "2012");
		
//			System.err.println(normalTime);
			
			// 昨天14:55
		}else if (tempTime.contains("昨天")) {
		
			SimpleDateFormat norsf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
			SimpleDateFormat norsf1 = new SimpleDateFormat("yyyy-MM-dd");
//			String tempTime = "昨天21:52";
			SimpleDateFormat sf = new SimpleDateFormat("昨天HH:mm");
			Date date = sf.parse(tempTime);
			
			long date1 = date.getTime();
			Date date2 = new Date(date1);
//			System.out.println(date2);
			normalTime = norsf.format(date2).replaceAll("1970-01-01", norsf1.format(new Date(new Date().getTime()-24*60*60*1000)));
			
			
			// 前天 14:55
		}else if (tempTime.contains("前天")) {
			

			SimpleDateFormat norsf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
			SimpleDateFormat norsf1 = new SimpleDateFormat("yyyy-MM-dd");
//			String tempTime = "前天21:52";
			SimpleDateFormat sf = new SimpleDateFormat("前天HH:mm");
			Date date = sf.parse(tempTime);
			
			long date1 = date.getTime();
			Date date2 = new Date(date1);
//			System.out.println(date2);
			normalTime = norsf.format(date2).replaceAll("1970-01-01", norsf1.format(new Date(new Date().getTime()-2*24*60*60*1000)));
			
			
			//正常时间 04/0400:14
		}else {
			SimpleDateFormat norsf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//			String tempTime = "04/0400:14";
			SimpleDateFormat sf = new SimpleDateFormat("MM/ddHH:mm");
			Date date = sf.parse(tempTime);
			
			long date1 = date.getTime();
			Date date2 = new Date(date1);
			
			normalTime = norsf.format(date2).replaceAll("1970", "2012");
		}
		
		
		return normalTime;
	}
	
	
	// test
	public static void main(String[] args) throws Exception {

		System.out.println("30秒前----------"+forMatTime("30秒前"));
		System.err.println("30分钟前---------"+forMatTime("30分钟前"));
		System.out.println("2小时前----------"+forMatTime("2小时前"));
		System.err.println("昨天14:55--------"+forMatTime("昨天14:55"));
		System.out.println("前天14:55--------"+forMatTime("前天14:55"));
		System.err.println("04/0400:14------"+forMatTime("04/0400:14"));

	}
}
 

 

运行结果:

30秒前----------2012-04-09 17:49
30分钟前---------2012-04-09 17:20
2小时前----------2012-04-09 15:50
昨天14:55--------2012-04-08 14:55
前天14:55--------2012-04-07 14:55
04/0400:14------2012-04-04 00:14
 

 

 

分享到:
评论

相关推荐

    js通用日期格式化工具 date.js

    js通用日期格式化工具,直接引用该工具类就可以使用,方便快捷,建议大家收藏此工具类,该工具很好的解决了前端页面显示日期格式问题

    时间格式化工具类

    "时间格式化工具类"通常是指自定义的类,用于封装Java标准库中的`java.time`或`java.text.SimpleDateFormat`等类的功能,以提供更方便、更灵活的时间处理方法。下面我们将深入探讨这个主题。 首先,`java.time`包是...

    一个简单的时间格式化工具类

    标题中的“一个简单的时间格式化工具类”指的是一个Java编程中的实用工具类,它主要用于处理日期和时间的格式化工作。在Java开发中,日期和时间的格式化是常见的需求,例如将日期从一种格式转换为另一种格式,或者将...

    java时间日期格式化工具类

    在Java编程语言中,时间日期处理是常见的任务之一,尤其在开发业务系统或者数据分析时,对日期进行格式化显得尤为重要。Java提供了多种处理日期和时间的API,包括`java.util.Date`、`java.text.SimpleDateFormat`、`...

    Java日期工具类,Java时间工具类,Java时间格式化

    本篇将围绕Java中的日期工具类和时间工具类展开讨论,同时会涉及到日期时间的格式化。 首先,Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`这两个类来处理日期和时间。`Date`类用于表示...

    sql代码格式化工具类

    本工具“sql代码格式化工具类”是专为Java项目设计的,旨在帮助开发者快速有效地对SQL语句进行格式化,提升代码质量和维护效率。 首先,我们要理解SQL格式化的意义。SQL语句通常会因为快速编写或复制粘贴而变得混乱...

    iOS日期格式化工具类

    "iOS日期格式化工具类"是一个专门处理这一问题的自定义类,旨在简化开发者的工作流程。这个工具类不仅能够按照特定的格式输出日期,如"YYYY-MM-dd HH:mm:ss",还支持生成适合作为文件名称的日期字符串,确保文件命名...

    日期格式化工具类

    日期操作是日常开发当中最常见的操作之一,故开放下自己封装的常用工具操作方法。 在java中队日期类型的处理并不方便,通常都需要借助java.text.SimpleDateFormat类来实现日期类型 和字符串类型之间的转换,但是在...

    Java 日期格式化 工具类

    Date和String的相互转换 得到指定日期所在周的星期几的日期 获取指定年的第几周的最后一天日期 获取指定年的第几周的第一天日期 获取指定日期为当前年的第几周 ...获取当前时间前2个小时的时间 获取当前年份

    java日期格式化工具类

    java日期格式化工具类,一些常用的日期操作方法

    jquery格式化日期

    jquery格式化日期。格式化时间工具类使用简单只要将该文件引入即可使用他是基于jquery的插件

    源代码格式化工具源代码格式化软件

    源代码格式化工具是程序员日常开发中不可或缺的辅助软件,它们的主要作用是统一代码风格,提高代码可读性,减少因格式不一致引起的争议和冲突。这类工具通常能够按照特定的语言规范,自动调整代码的缩进、空格、换行...

    封装的比较全面的时间工具类

    封装好的时间工具类, 包括时间格式转换,获取今天周几,一月几天。

    upan 格式化专业工具

    "upan 格式化专业工具"是一款专为USB闪存盘(通常称为U盘)设计的格式化软件。在日常使用中,U盘可能会因为各种原因,如病毒攻击、文件系统损坏或需要清除所有数据,需要进行格式化操作。这款工具就是针对这样的需求...

    数字格式化工具类

    6. **日期时间格式化**:虽然不是直接针对数字,但与之相关的日期和时间格式化也是常见的需求,可以将日期时间转换为各种格式,如"年-月-日"、"HH:mm:ss"等。 7. **国际化支持**:考虑到全球化的应用,工具类可能...

    程序员的格式化高亮工具

    1. **自动格式化**:这类工具可以自动调整代码的缩进、空格、换行等,使其符合特定的编码规范,如PEP8(Python)或Google Style Guide(C++)。这样可以确保代码在团队间的一致性,减少因格式问题引发的冲突。 2. *...

    专业格式化工具

    “速度飞快”是强调该工具在执行格式化操作时具有高效性,能在短时间内完成任务,这对于需要快速准备存储设备或处理大量设备的用户来说尤其重要。结合标签“格式化工具”,我们可以推断这是一个专注于这个特定功能的...

    格式化SQL工具

    在IT行业中,数据库管理和开发是不可或缺的部分,而SQL(Structured Query Language)作为数据库查询和编程的语言,其可读性和易维护性...在日常开发工作中,善用这类格式化工具是提升专业素养和工作效率的重要手段。

    Delphi6和Delphi7代码格式化工具

    使用这样的代码格式化工具,开发者可以快速地整理代码,使其符合标准的缩进规则,调整括号的位置,以及统一变量、函数和类的命名风格。此外,一些高级的格式化工具还可能提供自定义设置,允许用户根据自己的喜好或...

Global site tag (gtag.js) - Google Analytics