时间工具:
package com.omg.web.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class DateUtil {
private static final Log LOG = LogFactory.getLog(DateUtil.class);
private static final SimpleDateFormat DF_YMD = new SimpleDateFormat(
"yyyyMMdd");
private static final SimpleDateFormat DF_YMDHMS2 = new SimpleDateFormat(
"yyyyMMddHHmmss");
private static final SimpleDateFormat DF_YMD2 = new SimpleDateFormat(
"yyyy-MM-dd");
private static final SimpleDateFormat DF_YMDHMS = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
// 11/23/2012 2:34:11 PM
private static final SimpleDateFormat DF_MDYHMS = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", Locale.US);
private static final SimpleDateFormat DF_MDHM = new SimpleDateFormat("MM/dd HH:mm");
private static final SimpleDateFormat DF_YMDTHMS = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
/**
* 判断是否是当天
*
* @param date
* @return <p>
* true: 是当天
* </p>
* <p>
* false: 不是当天
* </p>
*/
public static boolean compareCurrDay(Date date) {
if (null == date) {
return false;
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
Calendar curr = Calendar.getInstance();
if (cal.get(Calendar.YEAR) == curr.get(Calendar.YEAR)
&& cal.get(Calendar.MONTH) == curr.get(Calendar.MONTH)
&& cal.get(Calendar.DAY_OF_MONTH) == curr
.get(Calendar.DAY_OF_MONTH)) {
return true;
}
return false;
}
/**
* 获得当前时间
*
* @return yyyyMMdd
*/
public static String getDisplayYMD() {
try {
Calendar calendar = Calendar.getInstance();
return ((SimpleDateFormat) DF_YMD.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得date时间
*
* @param date
* @return yyyyMMdd
*/
public static String getDisplayYMD(Date date) {
try {
if (null == date) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return ((SimpleDateFormat) DF_YMD.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得date时间
*
* @param date
* @return yyyy-MM-dd HH:mm:ss
*/
public static String getDisplayYMDHMS(Date date) {
try {
if (null == date) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return ((SimpleDateFormat) DF_YMDHMS.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得date时间
*
* @param date
* @return MM/dd HH:ss
*/
public static String getMDHM(Date date) {
try {
if (null == date) {
return "";
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return ((SimpleDateFormat) DF_MDHM.clone()).format(calendar
.getTime());
} catch (Exception e) {
return "";
}
}
/**
* 获得当前时间
*
* @return yyyy-MM-dd
*/
public static String getDisplayYMD2() {
try {
Calendar calendar = Calendar.getInstance();
return ((SimpleDateFormat) DF_YMD2.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得date时间
*
* @param date
* @return yyyy-MM-dd
*/
public static String getDisplayYMD2(Date date) {
try {
if (null == date) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return ((SimpleDateFormat) DF_YMD2.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得当前date时间
*
* @return yyyyMMddHHmmss
*/
public static String getDisplayYMDHHMMSS() {
try {
Calendar calendar = Calendar.getInstance();
return ((SimpleDateFormat) DF_YMDHMS2.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 比较时间
*
* @param date
* 比较的时间点
* @param field
* 日历
* @param amount
* 时间量
* @return
*/
public static boolean compareTime(Date date, int field, int amount) {
try {
Calendar cal = Calendar.getInstance();
cal.add(field, amount);
Calendar c = Calendar.getInstance();
c.setTime(date);
return cal.before(c);
} catch (Exception e) {
return false;
}
}
/**
* 取得日期
*
* @param date
* yyyy-MM-dd
* @return
*/
public static Date getDate(String date) {
try {
return ((SimpleDateFormat) DF_YMD2.clone()).parse(date);
} catch (ParseException e) {
return null;
}
}
/**
* 取得日期
*
* @param date
* MM/dd/yyyy hh:mm:ss AM
* @return
*/
public static Date getDateByMDYHMS(String date) {
try {
return ((SimpleDateFormat) DF_MDYHMS.clone()).parse(date);
} catch (ParseException e) {
return null;
}
}
/**
* 取得日期
*
* @param date
* yyyy-MM-dd HH:mm:ss
* @return
*/
public static Date getDate2(String date) {
try {
return ((SimpleDateFormat) DF_YMDHMS.clone()).parse(date);
} catch (ParseException e) {
return null;
}
}
/**
* 取得日期
*
* @param date
* 2012-03-29T11:25:11+08:00
* @return
*/
public static Date getDateTime(String date) {
try {
if (StringUtil.isBlank(date))
return null;
return ((SimpleDateFormat) DF_YMDTHMS.clone()).parse(date);
} catch (Exception e) {
return null;
}
}
/**
* 时间间隔
*
* @param d1
* @param d2
* @return
*/
public static String getCompareTime(Date d1, Date d2) {
try {
SimpleDateFormat DF = new SimpleDateFormat("Z");
Calendar calendar = Calendar.getInstance();
String zone = ((SimpleDateFormat) DF.clone()).format(calendar
.getTime());
//LOG.info("当前时区:" + zone);
if (!StringUtil.isBlank(zone) && zone.length() >= 5) {
Integer z = Integer.valueOf(zone.substring(1));
if (zone.indexOf("-") != -1) {
z += 800;
} else {
z = 800 - z;
}
int t1 = z/100;
int t2 = z%100;
calendar.add(Calendar.HOUR_OF_DAY, t1);
calendar.add(Calendar.MINUTE, t2);
}
//LOG.info("中国时间:" + DF_MDYHMS.format(calendar.getTime()));
long currTime = calendar.getTimeInMillis();
long time = currTime - d1.getTime();
long day = time/(1000*60*60*24);
if (day > 0) {
long year = day/365;
if (year > 0) {
return year + "y";
}
long month = day/30;
if (month > 0) {
return month + "M";
}
return day + "d";
}
long hour = time/(1000*60*60);
if (hour > 0) {
return hour + "h";
}
return time/(1000*60) + "m";
} catch (Exception e) {
return "";
}
}
public static void main(String[] args) {
//System.out.println(DateUtil.getDisplayYMDHMS(DateUtil.getDateByMDYHMS("11/23/2012 2:34:11 PM")));
try {
SimpleDateFormat DF = new SimpleDateFormat("Z");
Calendar calendar = Calendar.getInstance();
calendar.set(2013, 2, 20, 22, 30, 13);
String zone = "-0430";
System.out.println("当前时区:" + zone);
if (!StringUtil.isBlank(zone) && zone.length() >= 5) {
Integer z = Integer.valueOf(zone);
z = 800 - z;
int t1 = z/100;
int t2 = z%100;
calendar.add(Calendar.HOUR_OF_DAY, t1);
calendar.add(Calendar.MINUTE, t2);
}
System.out.println("中国时间:" + DF_MDYHMS.format(calendar.getTime()));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.omg.web.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class DateUtil {
private static final Log LOG = LogFactory.getLog(DateUtil.class);
private static final SimpleDateFormat DF_YMD = new SimpleDateFormat(
"yyyyMMdd");
private static final SimpleDateFormat DF_YMDHMS2 = new SimpleDateFormat(
"yyyyMMddHHmmss");
private static final SimpleDateFormat DF_YMD2 = new SimpleDateFormat(
"yyyy-MM-dd");
private static final SimpleDateFormat DF_YMDHMS = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
// 11/23/2012 2:34:11 PM
private static final SimpleDateFormat DF_MDYHMS = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", Locale.US);
private static final SimpleDateFormat DF_MDHM = new SimpleDateFormat("MM/dd HH:mm");
private static final SimpleDateFormat DF_YMDTHMS = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
/**
* 判断是否是当天
*
* @param date
* @return <p>
* true: 是当天
* </p>
* <p>
* false: 不是当天
* </p>
*/
public static boolean compareCurrDay(Date date) {
if (null == date) {
return false;
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
Calendar curr = Calendar.getInstance();
if (cal.get(Calendar.YEAR) == curr.get(Calendar.YEAR)
&& cal.get(Calendar.MONTH) == curr.get(Calendar.MONTH)
&& cal.get(Calendar.DAY_OF_MONTH) == curr
.get(Calendar.DAY_OF_MONTH)) {
return true;
}
return false;
}
/**
* 获得当前时间
*
* @return yyyyMMdd
*/
public static String getDisplayYMD() {
try {
Calendar calendar = Calendar.getInstance();
return ((SimpleDateFormat) DF_YMD.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得date时间
*
* @param date
* @return yyyyMMdd
*/
public static String getDisplayYMD(Date date) {
try {
if (null == date) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return ((SimpleDateFormat) DF_YMD.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得date时间
*
* @param date
* @return yyyy-MM-dd HH:mm:ss
*/
public static String getDisplayYMDHMS(Date date) {
try {
if (null == date) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return ((SimpleDateFormat) DF_YMDHMS.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得date时间
*
* @param date
* @return MM/dd HH:ss
*/
public static String getMDHM(Date date) {
try {
if (null == date) {
return "";
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return ((SimpleDateFormat) DF_MDHM.clone()).format(calendar
.getTime());
} catch (Exception e) {
return "";
}
}
/**
* 获得当前时间
*
* @return yyyy-MM-dd
*/
public static String getDisplayYMD2() {
try {
Calendar calendar = Calendar.getInstance();
return ((SimpleDateFormat) DF_YMD2.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得date时间
*
* @param date
* @return yyyy-MM-dd
*/
public static String getDisplayYMD2(Date date) {
try {
if (null == date) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return ((SimpleDateFormat) DF_YMD2.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 获得当前date时间
*
* @return yyyyMMddHHmmss
*/
public static String getDisplayYMDHHMMSS() {
try {
Calendar calendar = Calendar.getInstance();
return ((SimpleDateFormat) DF_YMDHMS2.clone()).format(calendar
.getTime());
} catch (Exception e) {
return null;
}
}
/**
* 比较时间
*
* @param date
* 比较的时间点
* @param field
* 日历
* @param amount
* 时间量
* @return
*/
public static boolean compareTime(Date date, int field, int amount) {
try {
Calendar cal = Calendar.getInstance();
cal.add(field, amount);
Calendar c = Calendar.getInstance();
c.setTime(date);
return cal.before(c);
} catch (Exception e) {
return false;
}
}
/**
* 取得日期
*
* @param date
* yyyy-MM-dd
* @return
*/
public static Date getDate(String date) {
try {
return ((SimpleDateFormat) DF_YMD2.clone()).parse(date);
} catch (ParseException e) {
return null;
}
}
/**
* 取得日期
*
* @param date
* MM/dd/yyyy hh:mm:ss AM
* @return
*/
public static Date getDateByMDYHMS(String date) {
try {
return ((SimpleDateFormat) DF_MDYHMS.clone()).parse(date);
} catch (ParseException e) {
return null;
}
}
/**
* 取得日期
*
* @param date
* yyyy-MM-dd HH:mm:ss
* @return
*/
public static Date getDate2(String date) {
try {
return ((SimpleDateFormat) DF_YMDHMS.clone()).parse(date);
} catch (ParseException e) {
return null;
}
}
/**
* 取得日期
*
* @param date
* 2012-03-29T11:25:11+08:00
* @return
*/
public static Date getDateTime(String date) {
try {
if (StringUtil.isBlank(date))
return null;
return ((SimpleDateFormat) DF_YMDTHMS.clone()).parse(date);
} catch (Exception e) {
return null;
}
}
/**
* 时间间隔
*
* @param d1
* @param d2
* @return
*/
public static String getCompareTime(Date d1, Date d2) {
try {
SimpleDateFormat DF = new SimpleDateFormat("Z");
Calendar calendar = Calendar.getInstance();
String zone = ((SimpleDateFormat) DF.clone()).format(calendar
.getTime());
//LOG.info("当前时区:" + zone);
if (!StringUtil.isBlank(zone) && zone.length() >= 5) {
Integer z = Integer.valueOf(zone.substring(1));
if (zone.indexOf("-") != -1) {
z += 800;
} else {
z = 800 - z;
}
int t1 = z/100;
int t2 = z%100;
calendar.add(Calendar.HOUR_OF_DAY, t1);
calendar.add(Calendar.MINUTE, t2);
}
//LOG.info("中国时间:" + DF_MDYHMS.format(calendar.getTime()));
long currTime = calendar.getTimeInMillis();
long time = currTime - d1.getTime();
long day = time/(1000*60*60*24);
if (day > 0) {
long year = day/365;
if (year > 0) {
return year + "y";
}
long month = day/30;
if (month > 0) {
return month + "M";
}
return day + "d";
}
long hour = time/(1000*60*60);
if (hour > 0) {
return hour + "h";
}
return time/(1000*60) + "m";
} catch (Exception e) {
return "";
}
}
public static void main(String[] args) {
//System.out.println(DateUtil.getDisplayYMDHMS(DateUtil.getDateByMDYHMS("11/23/2012 2:34:11 PM")));
try {
SimpleDateFormat DF = new SimpleDateFormat("Z");
Calendar calendar = Calendar.getInstance();
calendar.set(2013, 2, 20, 22, 30, 13);
String zone = "-0430";
System.out.println("当前时区:" + zone);
if (!StringUtil.isBlank(zone) && zone.length() >= 5) {
Integer z = Integer.valueOf(zone);
z = 800 - z;
int t1 = z/100;
int t2 = z%100;
calendar.add(Calendar.HOUR_OF_DAY, t1);
calendar.add(Calendar.MINUTE, t2);
}
System.out.println("中国时间:" + DF_MDYHMS.format(calendar.getTime()));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
发表评论
-
java 读取Excel文件
2013-04-12 13:16 1213package com.aia.util; impor ... -
java ftp操作
2013-04-10 15:09 4033代码一: package com.aia.util; i ... -
用Apache POI将JTable表格数据导出生成Excel文件
2013-04-08 09:06 3571用 Apache POI 将JTable表格数据导出生成Ex ... -
Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
2013-03-25 10:40 949Java解析xml、解析xml四种方法、DOM、SAX、J ... -
HTML导出数据生成excel
2013-03-22 10:36 958package com.fuxin.app.action. ... -
java实用工具(zip)
2013-03-21 16:14 871解压: package com.util.zip; impor ... -
问题汇总
2013-03-20 16:52 7901. 有时候eclipse会抽疯,项目更新tomcat重启后运 ... -
java实用工具(用3des进行ios加密后台解密)
2013-03-19 13:21 2721IOS 学习通信加密 通信加解密基本算是每个涉及到用户信息的客 ... -
java实用工具(加密)
2013-03-19 13:15 899声明:本文引自http://highill.iteye.com ... -
java实用工具(mail)
2013-03-19 13:16 821最简单的发送邮件方法 package com.omg.web ... -
java实用工具(XML)
2013-03-18 09:46 791package com.omg.web.util; impo ... -
java实用工具(字符串)
2013-03-18 09:45 841package com.omg.web.util; impo ... -
java实用工具(图片)
2013-03-18 09:43 1004package com.omg.web.util; impo ... -
java实用工具(文件)
2013-03-18 09:41 825package com.omg.web.util; impo ...
相关推荐
5. **开发jar包**: 开发jar包通常包含各种预编译的Java类库,用于实现特定功能,比如HTTP客户端、JSON解析、日期时间处理等。这些jar包可以直接引入到项目中,避免了从零开始编写代码的繁琐过程。 除了上述组件,这...
Java 实用文件小工具是一款专为IT从业者设计的高效文件管理解决方案,它包含了多项实用功能,如文件批量提取、删除以及将Oracle数据库的表结构导出为数据字典。这款工具极大地方便了日常的文件操作和数据库管理工作...
总的来说,这个压缩包中的两个文件是针对日期时间处理的实用工具,结合了Java 8的新特性,旨在提高开发者在SpringBoot项目中处理日期时间的效率和灵活性。通过学习和使用这些工具类,我们可以更好地管理和操作应用...
[工具类] XML 实用工具类 .java.txt [工具类] XML工具类2 .java.txt [工具类] 测试Mysql的最大连接数 .java.txt [工具类] 读取、打印输出、保存xml .java.txt [工具类] 分页split_page.jsp .jsp.txt [工具类] 获得...
- `java.time.LocalDate`和`java.time.LocalDateTime`则提供了更加友好的API,可以方便地创建日期和日期时间对象。 3. **时间差计算**: - 要计算两个日期之间的差值,通常会先将它们转换为毫秒,然后计算两者...
[工具类] XML 实用工具类 .java.txt [工具类] XML工具类2 .java.txt [工具类] 测试Mysql的最大连接数 .java.txt [工具类] 读取、打印输出、保存xml .java.txt [工具类] 分页split_page.jsp .jsp.txt [工具类] 获得...
4. **日期和时间API**:Java 8引入了新的日期和时间API,位于`java.time`包下,包括LocalDate、LocalTime、LocalDateTime和ZonedDateTime等类,它们提供了更强大、更直观的时间处理能力,取代了旧的`java.util.Date`...
- `Date`类:是Java中处理日期和时间的基础类。它可以表示从1970年1月1日00:00:00 GMT到当前时间的毫秒数。虽然`Date`类在早期版本的Java中存在很多过时的方法,但在JDK 1.1之后引入了`Calendar`类来改善日期和时间...
8. **日期时间的克隆和复制**:有时我们需要创建Date对象的副本,而不改变原始对象,`cloneDate`方法可以实现这一点。 9. **线程安全**:如果工具类被设计为线程安全的,那么它可能包含了同步方法或使用了线程局部...
"Java常用工具类大全,工作5年精心整理.zip"这个压缩包文件很可能包含了一位有经验的Java开发者在五年工作中积累的各种实用工具类,这些工具类能够极大地提高开发效率,简化代码编写。以下是对可能包含的知识点进行...
### Java 时间工具类详解 在Java开发中,处理日期与时间是常见的需求之一。...通过以上介绍,我们可以看出`DataUtil`工具类为Java开发者提供了强大而灵活的时间日期处理能力,大大简化了日常开发中的日期时间操作。
除此之外,第三方库如Apache Commons IO提供了更多的实用工具,如文件复制、删除、查找等。 4. **XML读写工具类**: Java标准库中的`javax.xml`包提供了基础的XML处理,但实际开发中更常用的是`DOM`、`SAX`或`JAXB...
6.2 CALENDAR类:介绍了Calendar类作为日期时间处理的抽象类。 6.3 MATH类:展示了java.lang.Math类中提供的各种数学运算的静态方法。 第七章:AWT工具集简介 介绍了Java的抽象窗口工具集(AWT),它用于创建基本的...
总的来说,`Java Swing 日期时间组件`如`DateChooser`,为Java桌面应用程序提供了用户友好的日期选择功能,使得用户能够直观地输入或选择日期,同时开发者可以方便地获取和处理这些数据。无论是商业应用还是个人项目...
5. **`java.util.Date`** 和 **`java.time.*`** (Java 8+): 传统的日期/时间处理类,以及Java 8引入的更现代、更易用的时间API。 6. **`java.util.HashMap`** 和 **`java.util.Map`** 接口: 存储键值对的数据结构。...
Java内置的日期时间API(如`java.util.Date`和`java.util.Calendar`)在处理日期和时间时较为复杂。为了简化操作,`java.time`包引入了新的API,如`LocalDate`、`LocalTime`和`LocalDateTime`。此外,`java.text....
在Java中,最著名的工具类库是`java.util`包,它包含了大量实用类,如集合、日期时间、数学计算、线程管理等。此外,还有一些第三方库,如Apache Commons Lang、Guava等,提供了更丰富的功能。 1. **java.util包**...
- `Google Guava`:包含了集合操作、缓存、并发、I/O等多种实用工具。 - `Java自身的util包`:如`Arrays`, `Collections`, `Math`, `Objects`等,提供了基础的工具方法。 3. **JavaUtils中的常见功能**: - **...
**java.util**: 这是最核心的工具包之一,包含了集合框架(如ArrayList、LinkedList、HashSet、HashMap等)、日期时间API(如Date、Calendar、LocalDate等)、事件模型、线程管理、随机数生成器以及多种实用工具类...