java中求一下2008年5月31日,往前倒30天是哪天
2008年5月31日, 往前倒30天是哪天?
马克- to-win:马克 java社区:防盗版实名手机尾号:73203。
import java.util.*;
public class Test {
public static void main(String[] args) {
Date date;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2008);
cal.set(Calendar.MONTH, 4);
cal.set(Calendar.DAY_OF_MONTH, 31);
date = cal.getTime();
/* getTime()返回,从January 1, 1970, 00:00:00这个时候,到现在的毫秒数,
public long getTime() Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.
,60l 表明是长整型, 如果用60的话就是int类型,马克-to-win 会溢出的。 这样we must use 60l*60l*24l*30l*1000l, while we can not use 60*60*24*30*1000, otherwise it will overflow(溢出).
*/
long myTime = date.getTime() - 60l * 60l * 24l * 30l * 1000l;
/* public void setTime(long time)Sets this Date object to represent a
point in time that is time milliseconds after January 1, 1970
00:00:00 GMT. */
date.setTime(myTime);
System.out.println("mDate is" + date);
}
}
结果是:
mDate isThu May 01 13:06:11 CST 2008