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通用日期格式化工具,直接引用该工具类就可以使用,方便快捷,建议大家收藏此工具类,该工具很好的解决了前端页面显示日期格式问题
"时间格式化工具类"通常是指自定义的类,用于封装Java标准库中的`java.time`或`java.text.SimpleDateFormat`等类的功能,以提供更方便、更灵活的时间处理方法。下面我们将深入探讨这个主题。 首先,`java.time`包是...
标题中的“一个简单的时间格式化工具类”指的是一个Java编程中的实用工具类,它主要用于处理日期和时间的格式化工作。在Java开发中,日期和时间的格式化是常见的需求,例如将日期从一种格式转换为另一种格式,或者将...
在Java编程语言中,时间日期处理是常见的任务之一,尤其在开发业务系统或者数据分析时,对日期进行格式化显得尤为重要。Java提供了多种处理日期和时间的API,包括`java.util.Date`、`java.text.SimpleDateFormat`、`...
本篇将围绕Java中的日期工具类和时间工具类展开讨论,同时会涉及到日期时间的格式化。 首先,Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`这两个类来处理日期和时间。`Date`类用于表示...
本工具“sql代码格式化工具类”是专为Java项目设计的,旨在帮助开发者快速有效地对SQL语句进行格式化,提升代码质量和维护效率。 首先,我们要理解SQL格式化的意义。SQL语句通常会因为快速编写或复制粘贴而变得混乱...
"iOS日期格式化工具类"是一个专门处理这一问题的自定义类,旨在简化开发者的工作流程。这个工具类不仅能够按照特定的格式输出日期,如"YYYY-MM-dd HH:mm:ss",还支持生成适合作为文件名称的日期字符串,确保文件命名...
日期操作是日常开发当中最常见的操作之一,故开放下自己封装的常用工具操作方法。 在java中队日期类型的处理并不方便,通常都需要借助java.text.SimpleDateFormat类来实现日期类型 和字符串类型之间的转换,但是在...
Date和String的相互转换 得到指定日期所在周的星期几的日期 获取指定年的第几周的最后一天日期 获取指定年的第几周的第一天日期 获取指定日期为当前年的第几周 ...获取当前时间前2个小时的时间 获取当前年份
java日期格式化工具类,一些常用的日期操作方法
jquery格式化日期。格式化时间工具类使用简单只要将该文件引入即可使用他是基于jquery的插件
源代码格式化工具是程序员日常开发中不可或缺的辅助软件,它们的主要作用是统一代码风格,提高代码可读性,减少因格式不一致引起的争议和冲突。这类工具通常能够按照特定的语言规范,自动调整代码的缩进、空格、换行...
封装好的时间工具类, 包括时间格式转换,获取今天周几,一月几天。
"upan 格式化专业工具"是一款专为USB闪存盘(通常称为U盘)设计的格式化软件。在日常使用中,U盘可能会因为各种原因,如病毒攻击、文件系统损坏或需要清除所有数据,需要进行格式化操作。这款工具就是针对这样的需求...
6. **日期时间格式化**:虽然不是直接针对数字,但与之相关的日期和时间格式化也是常见的需求,可以将日期时间转换为各种格式,如"年-月-日"、"HH:mm:ss"等。 7. **国际化支持**:考虑到全球化的应用,工具类可能...
1. **自动格式化**:这类工具可以自动调整代码的缩进、空格、换行等,使其符合特定的编码规范,如PEP8(Python)或Google Style Guide(C++)。这样可以确保代码在团队间的一致性,减少因格式问题引发的冲突。 2. *...
“速度飞快”是强调该工具在执行格式化操作时具有高效性,能在短时间内完成任务,这对于需要快速准备存储设备或处理大量设备的用户来说尤其重要。结合标签“格式化工具”,我们可以推断这是一个专注于这个特定功能的...
在IT行业中,数据库管理和开发是不可或缺的部分,而SQL(Structured Query Language)作为数据库查询和编程的语言,其可读性和易维护性...在日常开发工作中,善用这类格式化工具是提升专业素养和工作效率的重要手段。
使用这样的代码格式化工具,开发者可以快速地整理代码,使其符合标准的缩进规则,调整括号的位置,以及统一变量、函数和类的命名风格。此外,一些高级的格式化工具还可能提供自定义设置,允许用户根据自己的喜好或...