/*package com.hehenian.common.utils;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
*//**
* 日期操作类
* @author zhouziyang
*
*//*
public class DateUtils extends org.apache.commons.lang.time.DateUtils {
public static final String[] DATE_PATTERNS = new String[]{"yyyy-MM","yyyyMM","yyyy/MM",
"yyyyMMdd","yyyy-MM-dd","yyyy/MM/dd",
"yyyyMMddHHmmss",
"yyyy-MM-dd HH:mm:ss",
"yyyy/MM/dd HH:mm:ss","yyyyMMddHHmmssSSS"};
*//**
* yyyy-MM-dd
*//*
public static final String DATE_FORMAT = DATE_PATTERNS[4];
*//**
* yyyyMMdd
*//*
public static final String DATE_FORMAT_2 = DATE_PATTERNS[3];
*//**
* yyyy-MM-dd HH:mm:ss
*//*
public static final String DATE_TIME_FORMAT = DATE_PATTERNS[7];
public static final String DATE_FORMAT_9 = DATE_PATTERNS[9];
public static final String[] zodiacArr = { "猴", "鸡", "狗", "猪", "鼠", "牛",
"虎", "兔", "龙", "蛇", "马", "羊" };
public static final String[] constellationArr = { "水瓶座", "双鱼座", "白羊座",
"金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "魔羯座" };
public static final int[] constellationEdgeDay = { 20, 19, 21, 21, 21, 22,
23, 23, 23, 23, 22, 22 };
*//**
* 根据日期获取生肖
*
* @return
*//*
public static String date2Zodica(Calendar time) {
return zodiacArr[time.get(Calendar.YEAR) % 12];
}
*//**
* 根据日期获取星座
*
* @param time
* @return
*//*
public static String date2Constellation(Calendar time) {
int month = time.get(Calendar.MONTH);
int day = time.get(Calendar.DAY_OF_MONTH);
if (day < constellationEdgeDay[month]) {
month = month - 1;
}
if (month >= 0) {
return constellationArr[month];
}
// default to return 魔羯
return constellationArr[11];
}
*//**
* 通过出生日期计算出一个人的年龄
*
* @param date
* @return
*//*
public static int getAge(Date memberBirthday) {
if (memberBirthday == null)
return -1;
Calendar birthday = Calendar.getInstance();
birthday.setTimeInMillis(memberBirthday.getTime());
Calendar today = Calendar.getInstance();
int age = today.get(Calendar.YEAR) - birthday.get(Calendar.YEAR);
birthday.add(Calendar.YEAR, age);
if (today.before(birthday)) {
age--;
}
//未满18岁的当18岁
return age<18 ? 18 : age;
}
*//**
* 判断两个日期是否为同一天
* @param loginDate
* @param lastLoginDate
* @return
*//*
public static boolean isSameDay(Date loginDate,Date lastLoginDate){
DateFormat df = new SimpleDateFormat("yyyyMMdd");
//System.out.println(df.format(loginDate)+","+(df.format(lastLoginDate)));
if(df.format(loginDate).equals(df.format(lastLoginDate))){
return true;
}
return false;
}
*//**
* 计算两个日期之间相差的天数
* @param date1
* @param date2
* @return
*//*
public static int daysBetween(Date date1,Date date2){
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
long time1 = cal.getTimeInMillis();
cal.setTime(date2);
long time2 = cal.getTimeInMillis();
long between_days=(time1-time2)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}
public static boolean is1970(Date date){
DateFormat df = new SimpleDateFormat("yyyyMMdd");
if(df.format(date).equals("19700101")){
return true;
}
return false;
}
*//**
* 返回当前时间
*
* @return 返回当前时间
*//*
public static Date getCurrentDateTime() {
java.util.Calendar calNow = java.util.Calendar.getInstance();
java.util.Date dtNow = calNow.getTime();
return dtNow;
}
*//**
* @return 返回今天日期,时间部分为0。例如:2006-4-8 00:00:00
*//*
public static Date getTodayStart() {
return truncate(new Date(), Calendar.DATE);
}
*//**
* @return 返回今天日期,时间部分为23:59:59.999。例如:2006-4-19 23:59:59.999
*//*
public static Date getTodayEnd() {
return getDayEnd(new Date());
}
*//**
* 将字符串转换为日期(不包括时间)
* @param dateString "yyyy-MM-dd"格式的日期字符串
* @return 日期
*//*
public static Date getDateFromStr(String dateString) {
try {
return parseDate(dateString,DATE_FORMAT);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static Date getDateFormStr_yyyy_MM_dd(String dateString){
try {
return parseDate(dateString,DATE_FORMAT);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
*//**
* 检查字符串是否为日期格式yyyy-MM-dd
* @param dateString
* @return true=是;false=否
*//*
public static boolean checkDateString(String dateString) {
return (getDateFromStr(dateString)!=null);
}
*//**
* 将字符串转换为日期(包括时间)
* @param dateString "yyyy-MM-dd HH:mm:ss"格式的日期字符串
* @return 日期时间
*//*
public static Date getDateTimeFromStr(String dateTimeString) {
try {
return parseDate(dateTimeString,DATE_TIME_FORMAT);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
*//**
* 检查字符串是否为日期时间格式yyyy-MM-dd HH:mm:ss
* @param dateString
* @return true=是;false=否
*//*
public static boolean checkDateTimeString(String dateTimeString) {
return (getDateTimeFromStr(dateTimeString)!=null);
}
*//**
* 将日期转换为指定的pattern
* @param when
* @param pattern
* @return
*//*
public static String formatDate(Date when, String pattern){
return DateFormatUtils.format(when, pattern);
}
*//**
* 将日期转换成yyyy-MM-dd格式
* @param when
* @return
*//*
public static String formatDate_1(Date when){
return DateFormatUtils.format(when, DATE_FORMAT);
}
public static String formatDate_yyyy_MM_dd(Date when){
return DateFormatUtils.format(when, DATE_FORMAT);
}
*//**
* 将日期转换成yyyyMMdd格式
* @param when
* @return
*//*
public static String formatDate_2(Date when){
return DateFormatUtils.format(when, DATE_FORMAT_2);
}
*//**
* 将日期转换成yyyy-MM-dd HH:mm:ss格式
* @param when
* @return
*//*
public static String formatDateTime(Date when){
return DateFormatUtils.format(when, DATE_TIME_FORMAT);
}
public static String formatDateTime_YYYY_MM_DD_HH_MM_SS_SSS(Date when){
return DateFormatUtils.format(when, DATE_FORMAT_9);
}
*//**
* 获取月底的时间
* @param year 年 4位年度
* @param month 月 1~12
* @return 月底的Date对象。例如:2006-3-31 23:59:59.999
*//*
public static Date getMonthEnd(int year, int month) {
StringBuffer sb = new StringBuffer(10);
Date date;
if (month<12) {
sb.append(Integer.toString(year));
sb.append("-");
sb.append(month+1);
sb.append("-1");
date = getDateFromStr(sb.toString());
}else{
sb.append(Integer.toString(year+1));
sb.append("-1-1");
date = getDateFromStr(sb.toString());
}
date.setTime(date.getTime() - 1);
return date;
}
*//**
* 获取月底
* @param when 要计算月底的日期
* @return 月底的Date对象。例如:2006-3-31 23:59:59.999
*//*
public static Date getMonthEnd(Date when) {
//Assert.notNull(when,"date must not be null !");
if(when==null){
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(when);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH)+1;
return getMonthEnd(year,month);
}
*//**
* 获取给定日的最后一刻。
* @param when 给定日
* @return 最后一刻。例如:2006-4-19 23:59:59.999
*//*
public static Date getDayEnd(Date when) {
Date date = truncate(when,Calendar.DATE);
date = addDays(date,1);
date.setTime(date.getTime() - 1);
return date;
}
*//**
* 获取给定日的第0刻。
* @param when 给定日
* @return 第0刻。例如:2006-4-19 00:00:00
*//*
public static Date getDay(Date when) {
Date date = truncate(when,Calendar.DATE);
//date = addDays(date,-1);
//date.setTime(date.getTime()+1);
return date;
}
*//**
* 日期加法
* @param when 被计算的日期
* @param field the time field. 在Calendar中定义的常数,例如Calendar.DATE
* @param amount 加数
* @return 计算后的日期
*//*
public static Date add(Date when, int field, int amount) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(when);
calendar.add(field,amount);
return calendar.getTime();
}
*//**
* 计算给定的日期加上给定的天数。
* @param when 给定的日期
* @param amount 给定的天数
* @return 计算后的日期
*//*
public static Date addDays(Date when, int amount) {
return add(when,Calendar.DAY_OF_YEAR,amount);
}
*//**
* 计算给定的日期加上给定的月数。
* @param when 给定的日期
* @param amount 给定的月数
* @return 计算后的日期
*//*
public static Date addMonths(Date when, int amount) {
return add(when,Calendar.MONTH,amount);
}
*//**
* 计算给定的日期加上给定的年数。
* @param when 给定的日期
* @param amount 给定的年数
* @return 计算后的日期
*//*
public static Date addYears(Date when, int amount) {
return add(when,Calendar.YEAR,amount);
}
*//**
* 计算两个日期之间的差
* @param date1
* @param date2
* @return
* date1 - date2
*//*
public static int getSeconds(Date date1, Date date2){
if(date1==null || date2==null){
try {
throw new Exception("DateUtils.java --> getSeconds()'s args is null");
} catch (Exception e) {
e.printStackTrace();
}
}
long time1 = date1.getTime();
long time2 = date2.getTime();
return (int) ((time1-time2)/1000);
}
*//**
* 当月第一天
* @return
*//*
public static String getFirstDay() {
SimpleDateFormat df = new SimpleDateFormat(DATE_FORMAT);
Calendar calendar = Calendar.getInstance();
Date theDate = calendar.getTime();
GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
gcLast.setTime(theDate);
gcLast.set(Calendar.DAY_OF_MONTH, 1);
String day_first = df.format(gcLast.getTime());
StringBuffer str = new StringBuffer().append(day_first).append(" 00:00:00");
return str.toString();
}
*//**
* 当月最后一天
* @return
*//*
public static String getLastDay() {
SimpleDateFormat df = new SimpleDateFormat(DATE_FORMAT);
Calendar calendar = Calendar.getInstance();
Date theDate = calendar.getTime();
String s = df.format(theDate);
StringBuffer str = new StringBuffer().append(s).append(" 23:59:59");
return str.toString();
}
//当前的日期是多少
public static int getNowDate(){
Calendar calendar = Calendar.getInstance();
int date = calendar.get(Calendar.DATE);
return date;
}
public static long timeDiff(Date date1,Date date2){
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
long time1 = cal.getTimeInMillis();
cal.setTime(date2);
long time2 = cal.getTimeInMillis();
return time1-time2;
}
public static int getNowDays(){
Date date = new Date();
return date.getDate();
}
public static void main(String args[]){
//System.out.println(getDay(new Date()));
Calendar calendar = Calendar.getInstance();
int date = calendar.get(Calendar.DATE);
System.out.println(getNowDays());
}
// public static void main(String args[]){
//// Date date1 = getDateTimeFromStr("2014-01-20 21:00:01");
//// Date date2 = getDateTimeFromStr("2014-01-20 20:00:00");
//// System.out.println(getSeconds(date1, date2));
//
// System.out.println(getDayEnd(new Date()));
// }
}
*/