- /**
- * 得到几天前的时间
- * @param d
- * @param day
- * @return
- */
- public static Date getDateBefore(Date d,int day){
- Calendar now =Calendar.getInstance();
- now.setTime(d);
- now.set(Calendar.DATE,now.get(Calendar.DATE)-day);
- return now.getTime();
- }
- /**
- * 得到几天后的时间
- * @param d
- * @param day
- * @return
- */
- public static Date getDateAfter(Date d,int day){
- Calendar now =Calendar.getInstance();
- now.setTime(d);
- now.set(Calendar.DATE,now.get(Calendar.DATE)+day);
- return now.getTime();
- }
- /**
- *获取今天的时间的凌晨 到 23点
- *
- */
- private void initTime(){
- Calendar cal = Calendar.getInstance();
- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
- this.startTime=sdf.format(cal.getTime())+" 00:00:00";
- this.endTime=sdf.format(cal.getTime())+" 23:59:59";
- }
date转string(包括格式)
import java.text.SimpleDateFormat; import java.util.Date; public class test { public static void main(String []aa){ SimpleDateFormat dateformat1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E"); String a1=dateformat1.format(new Date()); System.out.println("时间2:"+a1); System.out.println(new Date().getYear()+1900); SimpleDateFormat dateformat2=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E "); String a2=dateformat2.format(new Date()); System.out.println("时间2:"+a2); } }
string转date
用SimpleDateFormat来转换 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse("2008-08-08 12:10:12"); 具体请参考JDK API文档 另外 转换成DATE类型后并不会因为转换前的字符串是什么样子而不同 DATE类型的内部表示永远是一样的 所以你的第2条要求是没有意义的 数据库如何显示这个DATE类型只是数据库自己的关系 和DATE本身无关 如果你希望要自定义Date的显示 同样可是使用SimpleDateFormat类来实现 只需要 String date = sdf.format(new Date()); 就可以了