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());
}
}
分享到:
相关推荐
时间日期转换工具类!各种格式各种转换和一些计算 交易日的工具
日期格式转字符串格式,日期加上天数,新日期,两个时间相差距离多少天
资源名称:DateUtil 日期时间转换工具类 内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关...
java 日期转换工具
各种日期格式,时间戳,时间计算的相互转换。直接引入工程中,可使用
java日期时间工具类,里面主要包括了日期与字符串之间的相互转换,以及输出指定的日期格式
各种日期格式化和转换 将 Calendar 转为字符串 获取当前月份的最后一天 根据 timestamp 生成各类时间状态串 计算两个日期之间相差的天数 等等等等
基本涵盖了各种场景的日期处理需要,包括时间类型转换,获取N天前后,月初月末,某段时间按天拆分等功能,欢迎使用。
在开发过程中,经常会判断日期处理。文档是开发过程中对时间处理,几乎包含不了所有用的转换,请放心使用。
Java开发时间日期转换工具类,涉及String,Date,时间戳互转,以及获取几天(月或年)前或后的时间
主要介绍了java实现的日期时间转换工具类,结合完整实例形式分析了java针对日期时间常见的转换、计算、格式化等相关操作与封装技巧,需要的朋友可以参考下
一个json相互转换的万能java类(JsonUtil.java), 这个下面就是万能转换类的方法注释,懂java的相信都能看懂。 /** *//** * 从一个JSON 对象字符格式中得到一个java对象 * @param jsonString * @param ...
获取SimpleDateFormat 获取日期中的某数值。如获取月份 增加日期中某类型的某数值。如增加日期 ...将时间转换为时间戳。 获取连续月份。 两个时间相差距离中文描述 。 比较两个时间的大小。
实现了对String 日期型(例2019-6-21),long型时间戳(如1561083887098(对应2019-6-21上午十点二十多分)),Date型,Calender型的四种日期格式相互转换。测试机型android 6.0,8.0,8.1,9.0。对应部分String型...
* 文件名:DateUtils.java 日期处理相关工具类 * 版本信息:V1.0 * 日期:2013-03-11 * Copyright BDVCD Corporation 2013 * 版权所有 http://www.bdvcd.com */ public class DateUtils { /**定义常量**/ ...
包含"yyyy-MM-dd"、"yyyy-MM-dd HH:mm:ss"、"yyyyMMdd"、"yyyyMMddHHmmss"、"yyyy-MM"、"yyyyMM"等时间格式的转换。 其中: 1.String转Timestamp stringToTimestamp(String dateStr); 2.比较传入时间与当前时间前一...
Date和String的相互转换 得到指定日期所在周的星期几的日期 获取指定年的第几周的最后一天日期 获取指定年的第几周的第一天日期 获取指定日期为当前年的第几周 获取指定日期中的月份 获得当前月的第一天 获得当前月...
农历转换、日期转换、时间转换、老黄历、二十四节气、干支纪年、传统节日、星期工具类Java版
Json对象转换工具类 MD5工具类 Number工具类 Spring工具类 电话操作类 地理坐标处理WGS-84坐标转换成百度坐标工具类 DES加密工具类 参数验证注解 Xss攻击 接口访问超时拦截器 二叉树模糊匹配数字 Socket连接池封装 ...