DateUtil类
来源:互联网 发布:国外工作招聘信息知乎 编辑:程序博客网 时间:2024/05/10 01:20
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
// import java.util.TimeZone;
public class DateUtil {
public static final String FORMAT_SHORT_DATE="yyyy-MM-dd";
public static final String FORMAT_LONG_DATE="yyyy-MM-dd HH:mm:ss";
private static DateFormat df = new SimpleDateFormat(FORMAT_SHORT_DATE);
private static DateFormat longdf = new SimpleDateFormat(FORMAT_LONG_DATE);
/**
* 取得当前时间
*
* @return
*/
public static Date getCurrentDate() {
return GregorianCalendar.getInstance().getTime();
}
/**
*
* @return
*/
public static String[] getLimitedDate() {
return getLimitedDate(30);
}
/**
* 取得限定时间范围,查询条件中的时间对
*
* @return String[0]开始时间-一个月前时间,Date[1]结束时间-当前时间
*/
public static String[] getLimitedDate(int day) {
String[] rtn = new String[2];
rtn[1] = df.format(getCurrentDate());
Calendar tmp = GregorianCalendar.getInstance();
tmp.add(Calendar.DAY_OF_YEAR, day * (-1));
rtn[0] = df.format(tmp.getTime());
return rtn;
}
/**
* 得到一年前的时间
* @return
*/
public static Date getLastYear(){
Calendar calendar = GregorianCalendar.getInstance();
calendar.add(GregorianCalendar.YEAR, -1);
return calendar.getTime();
}
/**
* 得到一年前的时间字符串
* @return
*/
public static String getLastYearStr(){
return longdf.format( getLastYear() );
}
public static String getDateToString(Date date){
return df.format(date);
}
public static String getLongTimeToString(long date){
return longdf.format(date);
}
public static Date[] getDatePairsByNow(int day) {
Date[] rtn = new Date[2];
rtn[1] = getCurrentDate();
Calendar tmp = GregorianCalendar.getInstance();
tmp.add(Calendar.DAY_OF_YEAR, day * (-1));
rtn[0] = tmp.getTime();
return rtn;
}
/**
* 将字符串解析为时间
*
* @param str
* str的格式必须为yyyy-MM-dd HH:mm:ss
* @return
*/
public static Date parseStringToDate(String str) {
if (str == null || "".equals(str))
return null;
Date date = null;
try {
date = longdf.parse(str);
} catch (Exception e) {
date = null;
}
return date;
}
/**
* 将字符串解析为时间
*
* @param str
* str的格式必须为yyyy-MM-dd
* @return
*/
public static Date parseStringDate(String str) {
if (str == null || "".equals(str))
return null;
Date date = null;
try {
date = df.parse(str);
} catch (Exception e) {
date = null;
}
return date;
}
public static Date parseStringDate(String str,String format) {
if (str == null || "".equals(str))
return null;
Date date = null;
try {
if(format == null || format.length() == 0){
date = df.parse(str);
}else{
DateFormat df2 = new SimpleDateFormat(format);
date = df2.parse(str);
}
} catch (Exception e) {
date = null;
}
return date;
}
public static Calendar getCalendar(String dates) {
Calendar c = Calendar.getInstance();
try {
Date date = df.parse(dates);
c.setTime(date);
} catch (ParseException e) {
c = null;
}
return c;
}
public static double getDateReduce(Date startDate,Date endDate){
double num=0;
if(startDate!=null&&endDate!=null){
num=(endDate.getTime()-startDate.getTime())/(1000*60*60*24);
}
return num;
}
public static boolean isWorkTime(){
// Date currDate=new Date();
// Date workStartDate;
// Date workEndDate;
// int day;
// Calendar calendar=Calendar.getInstance();
// calendar.setTime(currDate);
// day=calendar.get(Calendar.DAY_OF_WEEK)-1;
// if(day==0||day==6){
// return false;
// }
// String date=calendar.get(Calendar.YEAR)+"-"+(calendar.get(calendar.MONTH)+1)+"-"+calendar.get(Calendar.DATE);
// workStartDate=parseStringToDate(date+" 6:0:0");
// workEndDate=parseStringToDate(date+" 18:0:0");
// if((currDate.compareTo(workStartDate))==-1){
// return false;
// }
// if((currDate.compareTo(workEndDate))==1){
// return false;
// }
return false;
}
public static String getDateScope(Date startDate,Date endDate){
double num=0;
String dateScope="";
if(startDate!=null&&endDate!=null){
num=(endDate.getTime()-startDate.getTime())/(1000*60*60*24);
}
if(num>0&&num<31)
{
dateScope="不到一个月";
}
if(num>=31&&num<90)
{
dateScope="不到三个月内";
}
if(num>=91&&num<180)
{
dateScope="不到半年";
}
if(num>=180&&num<=365)
{
dateScope="不到一年";
}
if(num>365)
{
dateScope="超过一年";
}
return dateScope;
}
/**
* 得到当天之前某一天或之后某一天的日期
* @param interval 间隔的天数: 正数代表之后多少天,负数代表之前多少天<br>
* 比如:输入1,则返回第二天的日期; 输入-1,则返回昨天的日期
* @return
*/
public static Date getBefOrAftDate(int interval){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, interval); //得到前一天
return calendar.getTime();
}
/**
* 获取比当前日期早多少天或者晚多少天的日期 例如 前五天 -5 后五天 5
* @param days
* @param format 返回日期的格式
* @return 格式化好的字符串
*/
public static String DateBefAft(int days,String format){
//
if(format==null || "".equals(format))
format="yyyy-MM-dd";
Calendar now = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat(format);
now.add(Calendar.DAY_OF_YEAR,days);
return formatter.format(now.getTime());
}
/**
* 格式化 Date 类型的日期
* @param date 传入日期
* @param format 设定日期的显示格式 默认 2006-12-25
* @return 格式化后的日期
*/
public static String DatetoString(Date date,String format){
if(format==null || "".equals(format))
format="yyyy-MM-dd";
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.format(date);
}
/**
* 格式化 Timestamp 类型的日期
* @param timestamp 传入日期
* @param format 设定日期的显示格式 默认 2006-12-25
* @return 格式化后的日期
*/
public static String TimestamptoString(Timestamp timestamp,String format){
if(format==null || "".equals(format))
format="yyyy-MM-dd";
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.format(timestamp);
}
}
- DateUtil 类
- DateUtil类
- DateUtil类
- 时间工具类[DateUtil]
- 时间工具类(DateUtil)
- 时间工具类(DateUtil)
- 时间工具类(DateUtil)
- DateUtil日期工具类
- 日期工具类(DateUtil)
- android 工具类 DateUtil
- android 工具类 DateUtil
- DateUtil,日期工具类
- java DateUtil 工具类
- 日期处理类DateUtil
- DateUtil公共类
- DateUtil 日期工具类
- DateUtil日期工具类
- DateUtil工具类
- Android BaseAdapter类重写模版
- Oracle排序过滤重复数据
- 非oracle用户无法运行sqlplus
- 数字方舟,末日起航-记2012云计算架构师峰会
- [推荐] 常见设计模式的解析和实现(C++) 全20部分
- DateUtil类
- istringstream用法
- C/C++联合(Union)浅谈 .
- 在 Xcode 中进行自动化测试 (2/2)
- 明代宫禁混乱:道士钻空子混宫中与宫女通奸
- 判断 证书与私钥是否匹配
- 工具类 - 缓存
- 从30岁至35岁:为你的生命多积累一些厚度
- Android学习一widget.TabHost