建立java日期格式和日期数据操作的备忘

近来的项目中经常用到了日期为时间戳的操作,大的方向上说,在大型的java项目(电商,在线办公,云平台等)中也确实需要一个能区分的id号;在小的方向上,这也是java的基础部分。简单一句话,常用故而留下痕迹来加深印象。

1.日期格式类

1.1获取规定格式日期和唯一编码:

如果你需要的是String类型的日期格式
SimpleDateFormat checktimeformat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Calendar currencytime = Calendar.getInstance();
String currencydatetime = checktimeformat.format(currencytime.getTime());
String DOCID = CurDatetime + String.valueOf(Math.random()).substring(2, 6);
DOCID = DOCID.replace(":", "").replace(" ", "").replace("-", "");
如果是需要的是Date类型的格式
DateFormat checktimeformat =new SimpleDateFormat("yyyy-MM-dd");
Date date = checktimeformat .parse(szBeginTime);

备注:需要注意 引入的是:Java.text.DateFormat

2.日期操作类

2.1提取一个月中的最后一天

public static void main(String[] args) {  
       Date date = new Date();  
       long date_3_hm = date.getTime() - 3600000 * 34 * day;  
       Date date_3_hm_date = new Date(date_3_hm);
       System.out.println(Date date_3_hm_date);  
    }

2.2提取一个星期中的最后一天

public static void main(String[] args) {  
        Calendar cal = Calendar.getInstance();  
        cal.setTime(new Date());  
        cal.add(Calendar.DATE, -7);  
        System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));  
    }   

2.3单独把年月日提取出来的方法

1. int year =calendar.get(Calendar.YEAR);    
2. int month=calendar.get(Calendar.MONTH)+1;    
3. int day =calendar.get(Calendar.DAY_OF_MONTH);       
4. int hour =calendar.get(Calendar.HOUR_OF_DAY);      
5. int minute =calendar.get(Calendar.MINUTE);    
6. int seconds =calendar.get(Calendar.SECOND);

2.4两个日期相隔的天数

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");    
java.util.Date beginDate= format.parse("2007-12-24");    
java.util.Date endDate= format.parse("2007-12-25");    
long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);    
System.out.println("相隔的天数="+day); 

2.5提取一年前的日期

java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");    
java.util.Date todayDate=new java.util.Date();    
long beforeTime=(todayDate.getTime()/1000)-60*60*24*365;    
todayDate.setTime(beforeTime*1000);    
String beforeDate=formatter.format(todayDate);    
System.out.println(beforeDate);

2.6提取某个小时后的时间

java.util.Calendar Cal=java.util.Calendar.getInstance();    
Cal.setTime(dateOper);    
Cal.add(java.util.Calendar.HOUR_OF_DAY,10);    
System.out.println("date:"+forma.format(Cal.getTime()));

2.7提取日期比较的方法

long difference=c2.getTimeInMillis()-c1.getTimeInMillis(); 
相差天数:long day=difference/(3600*24*1000) 
相差小时:long hour=difference/(3600*1000) 
相差分钟:long minute=difference/(60*1000) 
相差秒: long second=difference/1000
备注:1.月份的起始值为0而不是1,所以例如:要设置八月时,我们用7而不是8。要想明白清楚的操作日期可能不是一朝一夕能做到的事情,如果简单的在项目中应用的话是可以满足的;而想要更加清楚明白的去了解就需要深入了解这些类的父类Calendar,别的类都是基于Calendar的继承。进步就要加油,深入,提升!   
之后会继续添加用到的方法,继续总结。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值