java中求一下2008年5月31日, 往前倒30天是哪天?
题目9: 2008年5月31日, 往前倒30天是哪天?
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);
}
}
更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/103123120