`

java日期时间转换工具类

阅读更多
java日期时间转换工具类

1.实现日期格式和类型转换
2.获得星期,时,分,秒
3.日期比较
4.生成账号和流水号


import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Pattern;

/**
 * 日期时间转换工具类
 */
public class DateUtil {

         public static String FILE_NAME = "MMddHHmmssSSS";
	public static String DEFAULT_PATTERN = "yyyy-MM-dd";
	public static String DIR_PATTERN = "yyyy/MM/dd/";
	public static String TIMESTAMP_PATTERN = "yyyy-MM-dd HH:mm:ss";
	public static String TIMES_PATTERN = "HH:mm:ss";
	public static String NOCHAR_PATTERN = "yyyyMMddHHmmss";
	
	/**
	 * 获取当前时间戳
	 *
	 * @param date
	 *
	 * @return
	 */
	public static String formatDefaultFileName() {
		return formatDateByFormat(new Date(), FILE_NAME);
	}

	/**
	 * 日期转换为字符串
	 *
	 * @param date
	 *            日期
	 * @param format
	 *            日期格式
	 * @return 指定格式的日期字符串
	 */
	public static String formatDateByFormat(Date date, String format) {
		String result = "";
		if (date != null) {
			try {
				SimpleDateFormat sdf = new SimpleDateFormat(format);
				result = sdf.format(date);
			} catch (Exception ex) {
				ex.printStackTrace();
			}
		}
		return result;
	}

	/**
	 * 转换为默认格式(yyyy-MM-dd)的日期字符串
	 *
	 * @param date
	 *
	 * @return
	 */
	public static String formatDefaultDate(Date date) {
		return formatDateByFormat(date, DEFAULT_PATTERN);
	}

	/**
	 * 转换为目录格式(yyyy/MM/dd/)的日期字符串
	 *
	 * @param date
	 *
	 * @return
	 */
	public static String formatDirDate(Date date) {
		return formatDateByFormat(date, DIR_PATTERN);
	}

	/**
	 * 转换为完整格式(yyyy-MM-dd HH:mm:ss)的日期字符串
	 *
	 * @param date
	 *
	 * @return
	 */
	public static String formatTimesTampDate(Date date) {
		return formatDateByFormat(date, TIMESTAMP_PATTERN);
	}

	/**
	 * 转换为时分秒格式(HH:mm:ss)的日期字符串
	 *
	 * @param date
	 *
	 * @return
	 */
	public static String formatTimesDate(Date date) {
		return formatDateByFormat(date, TIMES_PATTERN);
	}

	/**
	 * 转换为时分秒格式(HH:mm:ss)的日期字符串
	 *
	 * @param date
	 *
	 * @return
	 */
	public static String formatNoCharDate(Date date) {
		return formatDateByFormat(date, NOCHAR_PATTERN);
	}

	/**
	 * 日期格式字符串转换为日期对象
	 *
	 * @param strDate
	 *            日期格式字符串
	 * @param pattern
	 *            日期对象
	 * @return
	 */
	public static Date parseDate(String strDate, String pattern) {
		try {
			SimpleDateFormat format = new SimpleDateFormat(pattern);
			Date nowDate = format.parse(strDate);
			return nowDate;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * 字符串转换为默认格式(yyyy-MM-dd)日期对象
	 *
	 * @param date
	 *
	 * @return
	 *
	 * @throws Exception
	 */
	public static Date parseDefaultDate(String date) {
		return parseDate(date, DEFAULT_PATTERN);
	}

	/**
	 * 字符串转换为完整格式(yyyy-MM-dd HH:mm:ss)日期对象
	 *
	 * @param date
	 *
	 * @return
	 *
	 * @throws Exception
	 */
	public static Date parseTimesTampDate(String date) {
		return parseDate(date, TIMESTAMP_PATTERN);
	}

	/**
	 * 获得当前时间
	 *
	 * @return
	 */
	public static Date getCurrentDate() {
		Calendar calendar = Calendar.getInstance();
		return calendar.getTime();
	}

	/**
	 * sql Date 转 util Date
	 *
	 * @param date
	 *            java.sql.Date日期
	 * @return java.util.Date
	 */
	public static Date parseUtilDate(java.sql.Date date) {
		return date;
	}

	/**
	 * util Date 转 sql Date
	 *
	 * @param date
	 *            java.sql.Date日期
	 * @return
	 */
	public static java.sql.Date parseSqlDate(Date date) {
		return new java.sql.Date(date.getTime());
	}

	/**
	 * 获取年份
	 *
	 * @param date
	 *
	 * @return
	 */
	public static int getYear(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		return c.get(Calendar.YEAR);
	}

	/**
	 * 获取月份
	 *
	 * @param date
	 *
	 * @return
	 */
	public static int getMonth(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		return c.get(Calendar.MONTH) + 1;
	}

	/**
	 * 获取星期
	 *
	 * @param date
	 *
	 * @return
	 */
	public static int getWeek(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
		dayOfWeek = dayOfWeek - 1;
		if (dayOfWeek == 0) {
			dayOfWeek = 7;
		}
		return dayOfWeek;
	}

	/**
	 * 获取日期(多少号)
	 *
	 * @param date
	 *
	 * @return
	 */
	public static int getDay(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		return c.get(Calendar.DAY_OF_MONTH);
	}

	/**
	 * 获取当前时间(小时)
	 *
	 * @param date
	 *
	 * @return
	 */
	public static int getHour(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		return c.get(Calendar.HOUR_OF_DAY);
	}

	/**
	 * 获取当前时间(分)
	 *
	 * @param date
	 *
	 * @return
	 */
	public static int getMinute(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		return c.get(Calendar.MINUTE);
	}

	/**
	 * 获取当前时间(秒)
	 *
	 * @param date
	 *
	 * @return
	 */
	public static int getSecond(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		return c.get(Calendar.SECOND);
	}

	/**
	 * 获取当前毫秒
	 *
	 * @param date
	 *
	 * @return
	 */
	public static long getMillis(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		return c.getTimeInMillis();
	}

	/**
	 * 日期增加
	 *
	 * @param date
	 *            Date
	 *
	 * @param day
	 *            int
	 *
	 * @return Date
	 */
	public static Date addDate(Date date, int day) {
		java.util.Calendar c = java.util.Calendar.getInstance();
		c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000);
		return c.getTime();
	}

	/**
	 * 日期相减(返回天数)
	 *
	 * @param date
	 *            Date
	 *
	 * @param date1
	 *            Date
	 *
	 * @return int 相差的天数
	 */
	public static int diffDate(Date date, Date date1) {
		return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));
	}

	/**
	 * 日期相减(返回秒值)
	 *
	 * @param date
	 *            Date
	 * @param date1
	 *            Date
	 * @return int
	 * @author
	 */
	public static Long diffDateTime(Date date, Date date1) {
		return (Long) ((getMillis(date) - getMillis(date1)) / 1000);
	}

	private static String[] randomValues = new String[] { "0", "1", "2", "3",
			"4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g",
			"h", "i", "j", "k", "l", "m", "n", "u", "t", "s", "o", "x", "v",
			"p", "q", "r", "w", "y", "z" };

	public static String getRandomNumber(int lenght) {
		StringBuffer str = new StringBuffer();
		for (int i = 0; i < lenght; i++) {
			Double number = Math.random() * (randomValues.length - 1);
			str.append(randomValues[number.intValue()]);
		}
		return str.toString();
	}

	/**
	 * 生成账号
	 *
	 * @param acount
	 * @return
	 */
	public static String nextAcounnt(String acount) {
		String newAcc = "";
		if (Integer.parseInt(acount) < 10000) {
			Integer newAc = Integer.parseInt(acount) + 1;
			if (newAc < 1000) {
				int count = String.valueOf(newAc).length();
				if (count == 1) {
					newAcc = "000" + newAc;
				} else if (count == 2) {
					newAcc = "00" + newAc;
				} else if (count == 3) {
					newAcc = "0" + newAc;
				}
			} else {
				newAcc = String.valueOf(newAc);
			}
		} else {
			newAcc = acount;
		}
		return newAcc;
	}

	public static boolean isNumeric1(String str) {
		if (str != null && !"".equals(str) && str.length()<=9) {
			Pattern pattern = Pattern.compile("[0-9]*");
			return pattern.matcher(str).matches();
		} else {
			return false;
		}
	}

	/**
	 * 生成流水号
	 *
	 * @param t
	 *            流水号位数
	 * @return 流水号
	 */
	public static String getSequenceNumber(int t) {
		Date d = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
		String str = sdf.format(d);
		String haomiao = String.valueOf(System.nanoTime());
		str = str + haomiao.substring(haomiao.length() - 6, haomiao.length());
		return str.substring(str.length() - t, str.length());
	}
}
分享到:
评论

相关推荐

    Java - DateUtil 日期时间转换工具类

    资源名称:DateUtil 日期时间转换工具类 内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关...

    java日期转换工具类

    日期格式转字符串格式,日期加上天数,新日期,两个时间相差距离多少天

    java操作日期时间工具类

    1. **日期时间格式化与解析**:通过`SimpleDateFormat`类,可以方便地将日期时间转换为字符串,或从字符串转换为日期时间。例如: ```java public static String format(Date date, String pattern) { ...

    java日期时间转换大全

    ### Java日期时间转换大全 在Java编程中,处理日期和时间是常见的需求,尤其是在涉及到数据库操作、文件命名、日志记录等场景时。本文将详细解析如何在Java中进行日期和时间的转换,涵盖从字符串到日期对象的转换,...

    日期转换工具类

    ### 日期转换工具类 #### 知识点概述 本文将详细介绍一个名为`DateTimeUtil`的Java工具类,该类提供了日期格式化和解析的功能。此类利用了`org.joda.time`包中的`DateTime`和`DateTimeFormat`类来实现字符串与日期...

    java时间日期格式化工具类

    本篇文章将深入探讨Java中的日期格式化工具类及其使用方法,主要围绕提供的`DateUtil`工具类展开。 首先,`java.util.Date`是Java早期用于表示日期和时间的基础类,但它并不提供直接的格式化功能。为了将`Date`对象...

    java日期格式转换

    ### Java日期格式转换详解 在Java开发中,对日期和时间进行操作是非常常见的需求之一。本文将基于给定文件中的代码示例,详细介绍如何在Java中实现日期格式的转换,并探讨其中涉及的关键知识点。 #### 一、理解...

    json工具类,java日期转换,字符串转换等各种工具类

    2. **Java日期转换**: Java中的日期和时间处理最初通过`java.util.Date`和`java.text.SimpleDateFormat`进行,但现在推荐使用`java.time`包下的API,如`LocalDate`、`LocalDateTime`和`DateTimeFormatter`等,这些...

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

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

    java日期,时间工具类

    各种日期格式,时间戳,时间计算的相互转换。直接引入工程中,可使用

    最全的java时间(日期)工具类

    本文将深入探讨Java中的日期时间工具类,特别是基于给定的"DateUtil.java"文件,我们将聚焦在传统`java.util.Date`和`java.text.SimpleDateFormat`以及Java 8的`java.time`包中的相关类。 首先,我们来看看`java....

    java日期时间工具类

    java日期时间工具类,里面主要包括了日期与字符串之间的相互转换,以及输出指定的日期格式

    GMT格式与普通时间格式转换工具类,可直接使用;附带普通时间类型字符串和时间互相转换的可直接使用的接口

    总之,`DateFormatUtil`工具类是处理日期时间转换的一个实用工具,它通过提供简单易用的方法,帮助开发者在GMT和本地时间格式之间自由切换,并且支持字符串与日期时间对象的相互转换。无论是在传统的Java项目还是...

    java日期工具类

    在处理时区方面,`java.time.ZoneId`类用于表示不同的时区,可以方便地转换日期时间。`ZonedDateTime`类结合了日期、时间和时区信息,提供了对时区转换的支持。 此外,`java.time`包还引入了`Period`和`Duration`类...

    java将数字转换为时间格式

    #### 知识点一:Java日期时间API简介 Java提供了多种处理日期和时间的方式,包括传统的`java.util.Date`和`java.text.SimpleDateFormat`等类,以及自Java 8起引入的新API如`java.time`包下的`LocalDate`、`...

    时间日期工具类(包含java8新特性).zip

    4. **日期时间转换**:可能包含将旧的`java.util.Date`转换为新的`java.time`类型的函数,以便更好地利用Java 8的新特性。 5. **时区转换**:处理时区问题,比如将一个日期时间转换为指定时区的时间。 6. **周期...

    java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒

    1. **Java日期API**: - 在Java中,日期和时间的处理主要依赖于`java.util.Date`、`java.util.Calendar`以及从Java 8开始引入的`java.time`包。本工具类可能使用了这些API来创建、修改和比较日期对象。 2. **日期...

    Java日期转换

    这篇博客"Java日期转换"探讨了如何在Java中有效地转换和操作日期。Java提供了多种类库来支持日期和时间的操作,包括`java.util.Date`、`java.text.SimpleDateFormat`、`java.time`包中的类等。本文将详细讲解这些类...

    java实现的日期时间转换工具类完整示例

    Java 实现的日期时间转换工具类完整示例 本工具类主要介绍了 Java 实现的日期时间转换工具类,旨在解决 Java 中日期时间的常见转换、计算、格式化等操作问题。下面是该工具类的详细说明: 一、日期时间转换 * ...

Global site tag (gtag.js) - Google Analytics