l 判断是否是闰年
/**
* 给定一个年份判断该年份是否为闰年 create date:2009-6-10 author:Administrator
*
* @param year
* @return
*/
public static boolean isLeapYear(int year) {
GregorianCalendar calendar = new GregorianCalendar();
return calendar.isLeapYear(year);
}
l 获取当前日期的字符串表示形式
/**
* 利用SimpleDateFormat获取当前日期的字符串表示形式 格式:2009-55-05
*
* create date:2009-6-5 author:Administrator
*
* @return
*/
public static String getCurrentDate() {
// 注意 SimpleDateFormat("yyyy-MM-dd")的参数间隔符号可以随意设置的,如:
// yyyy年MM月dd日 返回格式:2009年06月09日
// yyyy-MM-dd 返回格式: 2009-06-09
// SimpleDateFormat dateFormat = new SimpleDateFormat(
// "yyyy-MM-dd HH:mm:ss");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(System.currentTimeMillis());
}
l 给出任意一个年月日得到该天是星期几
/**
* 给出任意一个年月日得到该天是星期几 create date:2009-6-10 author:Administrator
*
* @param date
* 参数格式 2009-6-10
* 返回值:0 代表星期日,1代表星期1,2代表星期2,以此类推
*/
public static int getWeek(String date) {
// 注意参数的大小写格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Calendar c = Calendar.getInstance();
try {
Date d = dateFormat.parse(date);
c.setTime(d);
} catch (ParseException e) {
}
return c.get(Calendar.DAY_OF_WEEK)-1;
}
l 获得今天n天以后或者n天以前是那一天
/**
* 获得距离今天n天的那一天的日期 create date:2009-6-11 author:Administrator
*
* @param day
* @return
*/
public static String getDistanceDay(int day) {
Calendar calen = Calendar.getInstance();
calen.add(Calendar.DAY_OF_MONTH, day);
Date date = calen.getTime();
// 这里也个用SimpleDateFormat的format()进行格式化,然后以字符串形式返回格式化后的date
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(date);
}
l 获得距离指定日期n天的那一天的日期
/**
* 获得距离指定日期n天的那一天的日期 create date:2009-6-11 author:Administrator
*
* @param date
* 格式:2009-6-11
* @param day
* @return
*/
public static String getDistanceDay(String date, int day) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date d;
Calendar c =Calendar.getInstance();
try {
d = dateFormat.parse(date);
c.setTime(d);
c.add(Calendar.DATE, day);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return dateFormat.format(c.getTime());
}
/**
* 获得给定两个日期相差度天数
* create date:2009-6-23 author:Administrator
*
* @param date1
* 参数格式:2009-06-21
* @param date2
*/
public static long getGapDays(String date1, String date2) {
String[] d1 = date1.split("-");
String[] d2 = date2.split("-");
Calendar c = Calendar.getInstance();
c.set(Integer.parseInt(d1[0]), Integer.parseInt(d1[1]), Integer
.parseInt(d1[2]), 0, 0, 0);
long l1 = c.getTimeInMillis();
c.set(Integer.parseInt(d2[0]), Integer.parseInt(d2[1]), Integer
.parseInt(d2[2]), 0, 0, 0);
long l2 = c.getTimeInMillis();
return (Math.abs(l1 - l2) / (24 * 60 * 60 * 1000));
}
/**
* 给定一个年份判断该年份是否为闰年 create date:2009-6-10 author:Administrator
*
* @param year
* @return
*/
public static boolean isLeapYear(int year) {
GregorianCalendar calendar = new GregorianCalendar();
return calendar.isLeapYear(year);
}
l 获取当前日期的字符串表示形式
/**
* 利用SimpleDateFormat获取当前日期的字符串表示形式 格式:2009-55-05
*
* create date:2009-6-5 author:Administrator
*
* @return
*/
public static String getCurrentDate() {
// 注意 SimpleDateFormat("yyyy-MM-dd")的参数间隔符号可以随意设置的,如:
// yyyy年MM月dd日 返回格式:2009年06月09日
// yyyy-MM-dd 返回格式: 2009-06-09
// SimpleDateFormat dateFormat = new SimpleDateFormat(
// "yyyy-MM-dd HH:mm:ss");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(System.currentTimeMillis());
}
l 给出任意一个年月日得到该天是星期几
/**
* 给出任意一个年月日得到该天是星期几 create date:2009-6-10 author:Administrator
*
* @param date
* 参数格式 2009-6-10
* 返回值:0 代表星期日,1代表星期1,2代表星期2,以此类推
*/
public static int getWeek(String date) {
// 注意参数的大小写格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Calendar c = Calendar.getInstance();
try {
Date d = dateFormat.parse(date);
c.setTime(d);
} catch (ParseException e) {
}
return c.get(Calendar.DAY_OF_WEEK)-1;
}
l 获得今天n天以后或者n天以前是那一天
/**
* 获得距离今天n天的那一天的日期 create date:2009-6-11 author:Administrator
*
* @param day
* @return
*/
public static String getDistanceDay(int day) {
Calendar calen = Calendar.getInstance();
calen.add(Calendar.DAY_OF_MONTH, day);
Date date = calen.getTime();
// 这里也个用SimpleDateFormat的format()进行格式化,然后以字符串形式返回格式化后的date
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(date);
}
l 获得距离指定日期n天的那一天的日期
/**
* 获得距离指定日期n天的那一天的日期 create date:2009-6-11 author:Administrator
*
* @param date
* 格式:2009-6-11
* @param day
* @return
*/
public static String getDistanceDay(String date, int day) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date d;
Calendar c =Calendar.getInstance();
try {
d = dateFormat.parse(date);
c.setTime(d);
c.add(Calendar.DATE, day);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return dateFormat.format(c.getTime());
}
/**
* 获得给定两个日期相差度天数
* create date:2009-6-23 author:Administrator
*
* @param date1
* 参数格式:2009-06-21
* @param date2
*/
public static long getGapDays(String date1, String date2) {
String[] d1 = date1.split("-");
String[] d2 = date2.split("-");
Calendar c = Calendar.getInstance();
c.set(Integer.parseInt(d1[0]), Integer.parseInt(d1[1]), Integer
.parseInt(d1[2]), 0, 0, 0);
long l1 = c.getTimeInMillis();
c.set(Integer.parseInt(d2[0]), Integer.parseInt(d2[1]), Integer
.parseInt(d2[2]), 0, 0, 0);
long l2 = c.getTimeInMillis();
return (Math.abs(l1 - l2) / (24 * 60 * 60 * 1000));
}