基础知识点:
start
- 字母 日期或时间元素 表示 示例
- G Era 标志符 Text AD
- y 年 Year 1996; 96
- M 年中的月份 Month July; Jul; 07
- w 年中的周数 Number 27
- W 月份中的周数 Number 2
- D 年中的天数 Number 189
- d 月份中的天数 Number 10
- F 月份中的星期 Number 2
- E 星期中的天数 Text Tuesday; Tue
- a Am/pm 标记 Text PM
- H 一天中的小时数(0-23) Number 0
- k 一天中的小时数(1-24) Number 24
- K am/pm 中的小时数(0-11) Number 0
- h am/pm 中的小时数(1-12) Number 12
- m 小时中的分钟数 Number 30
- s 分钟中的秒数 Number 55
- S 毫秒数 Number 978
- z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
- Z 时区 RFC 822 time zone -0800
- 引用
- 日期和时间模式 结果
- "yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
- "EEE, MMM d, ''yy" Wed, Jul 4, '01
- "h:mm a" 12:08 PM
- "hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
- "K:mm a, z" 0:08 PM, PDT
- "yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
- "EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
- "yyMMddHHmmssZ" 010704120856-0700
- "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
end
代码:
package com.miv.core.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import org.apache.commons.lang.StringUtils;
public class DateUtils {
public static class DateBean {
private Date start;
private Date end;
public Date getStart() {
return start;
}
public void setStart(Date start) {
this.start = start;
}
public Date getEnd() {
return end;
}
public void setEnd(Date end) {
this.end = end;
}
}
public static final String M_C_PREFIX_YEAR = "20";
// 年-月-日
public static final String YYYY_MM_DD = "yyyy-MM-dd";
// 年-月-日 时:分
public static final String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";
// 年-月-日 时:分:秒
public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
// 年月日
public static final String YYYYMMDD = "yyyyMMdd";
// 年月日 时分
public static final String YYYYMMDDHHMM = "yyyyMMddHHmm";
// 年月日 时分秒
public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
// 年月日 时分秒毫秒
public static final String YYYYMMDDHHMMSSSSS = "yyyyMMddHHmmsssss";
// 年
public static final String YYYY = "yyyy";
// 月
public static final String MM = "MM";
public static final Calendar calendar = Calendar.getInstance();
/**
*
* 功能描述 月份控件
*
* <pre>
* 特殊说明 使用DateUtils.Month month = DateUtils.Month.JANUARY;
* month.NAME()
* </pre>
*
* @author R20962
* @create Aug 21, 2012
*
*/
public static class Month {
public static Month NEW_YEAR = null;
public static Month JANUARY = null;
public static Month FEBRUARY = null;
public static Month MARCH = null;
public static Month APRIL = null;
public static Month MAY = null;
public static Month JUNE = null;
public static Month JULY = null;
public static Month AUGUST = null;
public static Month SEPTEMBER = null;
public static Month OCTOBER = null;
public static Month NOVEMBER = null;
public static Month DECEMBER = null;
static {
NEW_YEAR = new Month("0", "元旦", 0);
JANUARY = new Month("1", "一月", 1);
FEBRUARY = new Month("2", "二月", 2);
MARCH = new Month("3", "三月", 3);
APRIL = new Month("4", "四月", 4);
MAY = new Month("5", "五月", 5);
JUNE = new Month("6", "六月", 6);
JULY = new Month("7", "七月", 7);
AUGUST = new Month("8", "八月", 8);
SEPTEMBER = new Month("9", "九月", 9);
OCTOBER = new Month("10", "十月", 10);
NOVEMBER = new Month("11", "十一月", 11);
DECEMBER = new Month("12", "十二月", 12);
}
public static Month[] MONTH = { NEW_YEAR, JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER,
OCTOBER, NOVEMBER, DECEMBER };
private Object id; // 匹配 Object.qwuals(month.ID())
private String name;// 一月 等
private int arabic;// 数字从1开始
public Month(String id, String name, int arabic) {
this.id = id;
this.name = name;
this.arabic = arabic;
}
public Object ID() {
return id;
}
public String NAME() {
return name;
}
public int ARABIC() {
return arabic;
}
public boolean isAscOver() {
return this.arabic >= 12;
}
public boolean isAscOver(int over) {
return this.arabic >= over;
}
public boolean isOver(int over) {
return this.arabic > over;
}
public boolean isDescOver() {
return this.arabic <= 1;
}
public Month increment() {
if (this.arabic == 12) {
return MONTH[this.arabic];
}
return MONTH[this.arabic + 1];
}
public Month decrement() {
if (this.arabic == 1) {
return MONTH[this.arabic];
}
return MONTH[this.arabic - 1];
}
public static Month getMonth(int month) {
switch (month) {
case 1:
return Month.JANUARY;
case 2:
return Month.FEBRUARY;
case 3:
return Month.MARCH;
case 4:
return Month.APRIL;
case 5:
return Month.MAY;
case 6:
return Month.JUNE;
case 7:
return Month.JULY;
case 8:
return Month.AUGUST;
case 9:
return Month.SEPTEMBER;
case 10:
return Month.OCTOBER;
case 11:
return Month.NOVEMBER;
case 12:
return Month.DECEMBER;
default:
return Month.NEW_YEAR;
}
}
}
/**
* Example: getSystemDate();
*
* return Date
*
* @param format
* @return
*/
public static Date getSystemDate() {
Date date;
return new Date();
}
/**
* Example: getSystemDate("yyyyMMdd");
*
* return 20110820
*
* @param format
* @return
*/
public static String getSystemDateString(String format) {
return formatDate(new Date(), format);
}
/**
* Example: getCurrentTime();
*
* return 20110820101010222
*
* @param
* @return
*/
public static String getCurrentTime() {
return getSystemDateString(YYYYMMDDHHMMSSSSS);
}
/**
* Example: formatDate(date, "yyyyMMdd");
*
* date = 2011/01/02, return 20110102
*
* @param date
* @param format
* @return
*/
public static String formatDate(Date date, String format) {
final SimpleDateFormat sdf = new SimpleDateFormat(format);
if (date == null)
return null;
return sdf.format(date);
}
/**
* Example: format("2011/01/10", "yyyy/MM/dd", "yyyy.MM.dd");
*
* return 2011.01.10
*
* @param dateString
* @param srcFormat
* @param targetFormat
* @return
*/
public static String formatDate(String dateString, String srcFormat, String targetFormat) {
final SimpleDateFormat sdf = new SimpleDateFormat(srcFormat);
Date date = null;
try {
if (StringUtils.isNotBlank(dateString))
date = sdf.parse(dateString);
} catch (ParseException e) {
}
return formatDate(date, targetFormat);
}
public static Date getDateFromStr(String dateString, String srcFormat) {
final SimpleDateFormat sdf = new SimpleDateFormat(srcFormat);
Date date = null;
try {
if (StringUtils.isNotBlank(dateString))
date = sdf.parse(dateString);
} catch (ParseException e) {
}
return date;
}
/**
* add month
*
* @param currentDate
* @param num
* @return
*/
public Date getMonth(Date currentDate, int num) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(currentDate);
cal.add(GregorianCalendar.MONTH, num);// 在月份上加
return cal.getTime();
}
/**
* get year
*
* @param currentDate
* @param num
* @return
*/
public Date getYear(Date currentDate, int num) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(currentDate);
cal.add(GregorianCalendar.YEAR, num);// 在年上加
return cal.getTime();
}
/**
* get year
*
* @param currentDate
* @return int
*/
public static int getYear(Date currentDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
return calendar.get(Calendar.YEAR);
}
/**
* get month
*
* @param currentDate
* @return int
*/
public static int getMonth(Date currentDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
return calendar.get(Calendar.MONTH) + 1;
}
public static int getDayOfMonth(Date currentDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
return calendar.get(Calendar.DAY_OF_MONTH);
}
public static int getHourOfDay(Date currentDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
return calendar.get(Calendar.HOUR_OF_DAY);
}
public static int getHour(Date currentDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
return calendar.get(Calendar.HOUR);
}
public static String getAoP(Date currentDate) {
if (getHourOfDay(currentDate) > 12) {
return "PM";
} else {
return "AM";
}
}
public static int getMinute(Date currentDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
return calendar.get(Calendar.MINUTE);
}
public static String getMinute(Date currentDate, boolean flag) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
flag = calendar.get(Calendar.MINUTE) < 10 && flag;
if (flag) {
return "0" + calendar.get(Calendar.MINUTE);
} else {
return "" + calendar.get(Calendar.MINUTE);
}
}
public static Date getThisYearStart(int year) {
calendar.set(year, 0, 1, 0, 0, 0);
return calendar.getTime();
}
public static Date getThisYearEnd(int year) {
calendar.set(year, 11, 31, 23, 59, 59);
return calendar.getTime();
}
public static java.sql.Date fromUtilToSql(Date date) {
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
return sqlDate;
}
public static boolean greaterThan(Date sender, Date receiver) {
boolean flag = fromUtilToSql(sender).after(fromUtilToSql(receiver));
return flag;
}
// 传入的月不要减一
public static Date getThisMonthStart(int year, int month) {
calendar.set(year, month - 1, 1, 00, 00, 00);
return calendar.getTime();
}
// 传入的月不要减一
public static Date getThisMonthStart(Date currentDate) {
return getThisMonthStart(getYear(currentDate), getMonth(currentDate));
}
public static Date getThisMonthEnd(int year, int month) {
return subDays(getThisMonthStart(year, month + 1), 1);
}
public static Date getThisMonthEnd(Date currentDate) {
return subDays(getThisMonthStart(getYear(currentDate), getMonth(currentDate) + 1), 1);
}
public static Date addMonth(Date date, int amount) {
return org.apache.commons.lang.time.DateUtils.addMonths(date, amount);
}
public static Date subMonths(Date date, int amount) {
amount = 0 - amount;
return org.apache.commons.lang.time.DateUtils.addMonths(date, amount);
}
public static Date addDays(Date date, int amount) {
return org.apache.commons.lang.time.DateUtils.addDays(date, amount);
}
public static Date subDays(Date date, int amount) {
amount = 0 - amount;
return org.apache.commons.lang.time.DateUtils.addDays(date, amount);
}
public static List<DateBean> getEveryYear(Date start, Date end) {
List<DateBean> list = new ArrayList<DateUtils.DateBean>();
int startYear = getYear(start);
int endYear = getYear(end);
for (int i = startYear; i <= endYear; i++) {
DateUtils.DateBean dateBean = new DateUtils.DateBean();
if (i == startYear) {
dateBean.setStart(getThisMonthStart(start));
} else {
dateBean.setStart(getThisYearStart(i));
}
if (i == endYear) {
dateBean.setEnd(getThisMonthStart(endYear, getMonth(end) + 1));
} else {
dateBean.setEnd(getThisYearEnd(i));
}
list.add(dateBean);
}
return list;
}
}
相关推荐
在这个"javautils"压缩包中,我们可以预见到包含了一些自定义的Java工具类,可能涵盖了字符串处理、日期时间操作、集合操作等多个方面。 1. **字符串处理**: JavaUtils中的字符串工具类可能会包含一些扩展了Java...
在具体实践中,"javautils工具类"可能还包含了其他通用的辅助功能,如日期时间转换、字符串操作、文件操作等。这些工具方法使得开发者能够专注于业务逻辑,而不是重复编写基础功能的代码。 总之,"javautils工具类...
JavaUtils工具类是Java开发中常见的一类代码集合,它们通常包含了各种常用的功能,比如字符串处理、日期时间操作、集合操作等,极大地提高了开发效率。本文将深入探讨`PropertiesUtil`这个工具类,它主要用于处理...
`java-property-utils-1.9.1.jar` 是一个专门针对这种情况设计的Java库,它提供了解决跨域问题的功能。这个库主要包含对Java属性文件的操作以及与CORS相关的处理。 CORS(Cross-Origin Resource Sharing)是一种...
JavaUtils,通用的Java工具类,主要包括基础工具类(时间、正则表达式、字符串、随机数等等)_JavaUtils
2. **日期时间处理**:Java 8引入了新的日期时间API,Java_Utils可能封装了这些API,提供更友好的日期和时间操作,比如格式化、解析、时间区间计算等。 3. **字符串工具**:字符串处理是常见的任务,项目可能包含...
Java-utils 是一个包含作者在编写 Java 代码时所创建的各种实用工具类的项目。这个库可能包含各种通用功能,如字符串处理、集合操作、日期时间转换等,旨在提高开发效率和代码可重用性。然而,重要的是要注意,该...
"java-utils:杂项 Java 实用程序"是一个包含多种实用工具类的Java库,它为开发者提供了方便快捷的代码片段,以解决常见的编程任务。这个库可能是由dbj开发的,其目标是提高代码的可复用性和效率,减少开发时间。 在...
3. **日期与时间**:JavaUtils可能包含对日期和时间API的增强,比如格式化、解析、时间计算等,帮助开发者更高效地处理时间相关的问题。 4. **字符串操作**:字符串处理是开发中的常见任务,JavaUtils可能提供了...
`java-property-utils-1.9.jar` 可能用于读取自定义的配置文件,例如,你可能希望根据不同的环境设置不同的CORS策略,这时可以将策略写入一个属性文件,然后使用`java-property-utils`来读取并设置过滤器的参数。...
在Java编程中,工具类(Utils)是程序员经常会用到的一种设计模式,它们通常包含一组静态方法,用于执行特定的任务,比如字符串处理、日期时间操作、数学计算等。"java_utils"项目似乎是一个集合了各种Java实用工具...
JavaUtils.zip是一个包含Java实用工具类的压缩包,通常这些工具类是对Java标准库功能的扩展或补充,提供了一些常用且方便的静态方法。在Java编程中,自定义的工具类可以帮助开发者更高效地编写代码,减少重复工作,...
5. **日期时间Utils**: - 时间格式化:将日期和时间对象转换为指定格式的字符串。 - 时间计算:获取两个日期之间的差值,如天数、小时数等。 - 日期比较:判断日期是否在某个范围内。 6. **IOUtils**: - 输入...