DateUtil工具类
来源:互联网 发布:类似变速齿轮的软件 编辑:程序博客网 时间:2024/06/06 00:44
package com.util;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;/** * @description handle of date util. */public class DateUtil {private static String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";private static String DATE_FORMAT = "yyyy-MM-dd";/*** get current time format "yyyy-MM-dd HH:mm:ss".* @return*/public static Date current() {Calendar cal = Calendar.getInstance();cal.set(Calendar.MILLISECOND, 000);return cal.getTime();}/*** Get the previous time, from how many days to now.* * @param days How many days.* @return The new previous time.*/public static Date previous(int days) {Calendar cal = Calendar.getInstance();cal.add(Calendar.DAY_OF_MONTH, -days);return cal.getTime();}public static Date previousDate(int days, Date date) {Calendar cal = Calendar.getInstance();cal.setTime(date);cal.add(Calendar.DAY_OF_MONTH, -days);return cal.getTime();}/*** get field of date by calendar class* * @param calendarField The field of calendar* * For the date fields: * YEAR/MONTH* * 星期数指定* WEEK_OF_YEAR(指示当前年中的星期数)* WEEK_OF_MONTH(指示当前月中的星期数)* * 天数指定* DAY_OF_YEAR(指示当前年中的天数)* DAY_OF_MONTH(指示一个月中的某天)* DAY_OF_WEEK_IN_MONTH(指示当前月中的第几个星期)* DAY_OF_WEEK(指示一个星期中的某天)* * * For the time of day fields:* HOUR_OF_DAY(指示一天中的小时)* AM_PM + HOUR* * * @param days The number of days* @return date of transform calendar field.*/public static Date getFieldDateFromCurrent(int calendarField, int days) {Calendar cal = Calendar.getInstance();cal.add(calendarField, days);return cal.getTime();}/*** current Date forward some minutes* * @param mins* The number of forward minute.* @return Been forward new Date.*/public static Date forwardMin(int mins) {Calendar cal = Calendar.getInstance();cal.add(Calendar.MINUTE, mins);return cal.getTime();}/*** 取得当前周的周六、日日期* * @param date 默认为当前,也可以指定未来* @return 包含两天的日期(六、日)*/public static List<Date> getCurrentWeekend(Date date) {List<Date> weekend = new ArrayList<Date>();Calendar cal = Calendar.getInstance();cal.setFirstDayOfWeek(Calendar.SUNDAY);if(RegexUtil.notEmpty(date))cal.setTime(date);cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());weekend.add(cal.getTime());cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek()+6);weekend.add(cal.getTime());return weekend;}/*** Convert date and time to string like "yyyy-MM-dd HH:mm:ss".*/public static String formatDateTime(Date d) {return new SimpleDateFormat(DATETIME_FORMAT).format(d);}/*** Convert date and time to string like "yyyy-MM-dd HH:mm:ss".*/public static String formatDateTime(long d) {return new SimpleDateFormat(DATETIME_FORMAT).format(d);}/*** Convert date to String like "HH:mm:ss".*/public static String formatCurDateToTime() {Calendar cal = Calendar.getInstance();return String.format("%tR", cal);} /** * Convert date to String like "yyyy-MM-dd". */ public static String formatCurDate() { Calendar cal = Calendar.getInstance(); return new SimpleDateFormat(DATE_FORMAT).format(cal.getTime()); }public static int getField(int calendarField, Date date) {int field = 0;Calendar cal = Calendar.getInstance();if(RegexUtil.notEmpty(date)) cal.setTime(date);field = cal.get(calendarField);if(calendarField == Calendar.MONTH) field++;return field;}/*** Convert date to String like "yyyy-MM-dd".*/public static String formatDate(Date d) {return new SimpleDateFormat(DATE_FORMAT).format(d);}/*** Convert date to String like "yyyy-MM-dd".*/public static String forMatDate() {return new SimpleDateFormat(DATE_FORMAT).format(new Date());}/*** Parse date like "yyyy-MM-dd".*/public static Date parseDate(String d) {Calendar cal = Calendar.getInstance();String[] str = d.split("-");cal.set(Integer.parseInt(str[0]), Integer.parseInt(str[1])-1, Integer.parseInt(str[2]));return cal.getTime();}/*** Parse date and time like "yyyy-MM-dd HH:mm:ss".*/public static Date parseDateTime(String dt) {try {return new SimpleDateFormat(DATETIME_FORMAT).parse(dt);} catch (Exception e) {}return null;}//获取季度public static int getQuarter(Date date) {Calendar cal = Calendar.getInstance();if(RegexUtil.notEmpty(date)) cal.setTime(date);int month = cal.get(Calendar.MONTH) + 1;int quarter = 1;if(month >= 1 && month <= 3) quarter = 1;else if(month >= 4 && month <= 6) quarter = 2;else if(month >= 7 && month <= 9) quarter = 3;else if(month >= 10 && month <= 12) quarter = 4;return quarter;} }
阅读全文
0 0
- 时间工具类[DateUtil]
- 时间工具类(DateUtil)
- 时间工具类(DateUtil)
- 时间工具类(DateUtil)
- DateUtil日期工具类
- 日期工具类(DateUtil)
- android 工具类 DateUtil
- android 工具类 DateUtil
- DateUtil,日期工具类
- java DateUtil 工具类
- DateUtil 日期工具类
- DateUtil日期工具类
- DateUtil工具类
- DateUtil工具类
- DateUtil工具类2
- DateUtil 工具类
- J2EE工具类:DateUtil .java
- DateUtil工具类的用法
- 从url中下载文件
- java的override和overload详解
- hdu2955
- Android性能优化之减少过度绘制
- 时钟指针重合问题java实现
- DateUtil工具类
- DateUtil工具类2
- 面试题 编写一个程序,将e:\project\java目录下的所有.java文件复制到 e:\project\jad目录下,并将原来文件的扩展名从.java改为.jad。
- JDBC工具类
- TFT彩屏常见汉字取模方式及相关驱动函数
- 【LeetCode】Lowest Common Ancestor II 最近公共祖先 II - Easy
- Codeforces-869C The Intriguing Obsession(DP/组合数)
- httpClient工具类
- Android小代码