1.日期类的常用方法
日期类与日期字符串相互装换,日期的时间间隔计算,日期与时间戳的转换
2.日期工具类的方法
日期类与日期字符串相互装换
/**
* 根据日期和输出格式,返回字符串
* @param date
* @param formate
* @return
*/
public static String convertDateToStr(Date date, String formate) {
SimpleDateFormat format = new SimpleDateFormat(formate);
String dateStr = null;
try{
dateStr = format.format(date);
}catch (Exception e) {
e.printStackTrace();
}
return dateStr;
}
/**
* 根据日期字符串和输出格式,返回日期
* @param date
* @param formate
* @return
*/
public static Date convertStrToDate(String dateStr,
String formate) {
SimpleDateFormat format = new SimpleDateFormat(formate);
Date d = null;
try{
d = format.parse(dateStr);
}catch (Exception e) {
e.printStackTrace();
}
return d;
}
根据指定日期,计算某个时间间隔的日期
/**
* 根据指定日期和日期间隔,求得新的日期
* 需要算出间隔的毫秒数
* 同理可以写出指定日期与小时间隔(分钟间隔,秒间隔)的方法
* @param d
* @param i
* @return
*/
public static Date addDate(Date d, int interval) {
long l = (long)(interval*24*60*60*1000);
Calendar c = Calendar.getInstance();
c.setTime(d);
c.setTimeInMillis(c.getTimeInMillis() + l);
return c.getTime();
}
日期与时间戳的转换
/**
* 通过时间戳转换日期有两种方法,如下
* @param l
* @return
*/
public static Date convertTimestampToDate(Long l) {
Timestamp ts = new Timestamp(l);
<span style="white-space:pre"> </span>Date date = ts;
<span style="white-space:pre"> </span>return date;
}
3.日期工具类和测试类
DateUtil:日期工具类
package com.sangbill.advanced.date;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
/**
* 根据日期和输出格式,返回字符串
* @param date
* @param formate
* @return
*/
public static String convertDateToStr(Date date, String formate) {
SimpleDateFormat format = new SimpleDateFormat(formate);
String dateStr = null;
try{
dateStr = format.format(date);
}catch (Exception e) {
e.printStackTrace();
}
return dateStr;
}
/**
* 根据日期字符串和输出格式,返回日期
* @param date
* @param formate
* @return
*/
public static Date convertStrToDate(String dateStr,
String formate) {
SimpleDateFormat format = new SimpleDateFormat(formate);
Date d = null;
try{
d = format.parse(dateStr);
}catch (Exception e) {
e.printStackTrace();
}
return d;
}
/**
* 根据指定日期和日期间隔,求得新的日期
* 需要算出间隔的毫秒数
* 同理可以写出指定日期与小时间隔(分钟间隔,秒间隔)的方法
* @param d
* @param i
* @return
*/
public static Date addDate(Date d, int interval) {
long l = (long)(interval*24*60*60*1000);
Calendar c = Calendar.getInstance();
c.setTime(d);
c.setTimeInMillis(c.getTimeInMillis() + l);
return c.getTime();
}
/**
* 通过时间戳转换日期有两种方法,如下
* @param l
* @return
*/
public static Date convertTimestampToDate(Long l) {
Timestamp ts = new Timestamp(l);
Date date = ts;
return date;
}
/*public static Date convertTimestampToDate(Long l) {
Calendar c = Calendar.getInstance();
c.setTimeInMillis(l);
return c.getTime();
}*/
}
Test:测试类
package com.sangbill.advanced.date;
import java.util.Date;
public class Test {
static final String DATETIME_FORMATE = "yyyy-MM-dd hh:mm:ss";
public static void main(String[] args) {
String datetimeStr = DateUtil.convertDateToStr(new Date(),DATETIME_FORMATE);
System.out.println(datetimeStr);
Date d = DateUtil.convertStrToDate(datetimeStr,DATETIME_FORMATE);
System.out.println(d);
Date d1 = DateUtil.addDate(d,1);
System.out.println(DateUtil.convertDateToStr(d1,DATETIME_FORMATE));
long l = System.currentTimeMillis();
System.out.println(DateUtil.convertDateToStr(DateUtil.convertTimestampToDate(l),DATETIME_FORMATE));
}
}