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

posted @ 2021-01-19 17:26  师徒行者  阅读(74)  评论(0编辑  收藏  举报