假设今天是2015年3月1日,星期天,请算出13个月零6天后是星期几,距离现在多少秒?

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Calendar;
 4 import java.util.Date;
 5 
 6 public class dateToMill {
 7 public static void main(String[] args) {
 8 
 9     use();
10 
11 //    noUse();
12 
13 }
14 
15 //使用API计算
16 public static void use(){
17 Calendar calendar = Calendar.getInstance();
18 System.out.println(calendar);
19 Date date = new Date();
20 //设置时间2015.3.1 
21 calendar.set(2015, (3-1), 1); //月份从0开始
22 date = calendar.getTime();
23 System.out.println("设置时间:"+date);
24 
25 //计算13个月6天后,是周几
26 calendar.add(Calendar.MARCH, 13);
27 calendar.add(Calendar.DAY_OF_YEAR, 6);
28 System.out.println("今天是周"+(calendar.get(Calendar.DAY_OF_WEEK)-1)); //星期从周日开始
29 
30 //距离现在(2015.3.1)秒数
31 long time1 = calendar.getTimeInMillis(); //calendar对象表示的时间距1970.1.10点的毫秒数 (2016.4.7)
32 long time2 = date.getTime(); //date对象表示的时间距1970.1.10点的毫秒数    (2015.3.1)
33 long time = (time1 - time2) /1000;
34 System.out.println(time);
35 }
36 
37 //不使用API计算
38 public static void noUse(){
39 
40 try {
41 //设置时间2015.3.1
42 Date date1 = (new SimpleDateFormat("yyyy年MM月dd日").parse("2015年3月1日"));
43 System.out.println("设置时间:"+date1);
44 
45 //计算13个月6天后是周几
46 Date date2 = (new SimpleDateFormat("yyyy年MM月dd日").parse("2016年4月7日"));
47 
48 //获取SimpleDateFormat时间的年月日
49 /*SimpleDateFormat sdf0 = new SimpleDateFormat("yyyy");
50 SimpleDateFormat sdf1 = new SimpleDateFormat("MM");
51 SimpleDateFormat sdf2= new SimpleDateFormat("dd");
52 String str1 = sdf0.format(date2);
53 String str2 = sdf1.format(date2);
54 String str3 = sdf2.format(date2);
55 System.out.println("年份为:"+str1);
56 System.out.println("月份为:"+str2);
57 System.out.println("日为:"+str3);*/
58 
59 System.out.println("期待时间:"+date2);
60 
61 //使用默认时区和语言环境这种方法获得一个日历
62 Calendar calendar = Calendar.getInstance();
63 calendar.setTime(date2);
64 
65 //默认国际通用以周日作为一周的开始
66 System.out.println("是周"+(calendar.get(Calendar.DAY_OF_WEEK)-1));
67 
68 //距离现在(2015.3.1)秒数
69 long time = (date2.getTime() - date1.getTime())/1000;
70 System.out.println("秒数:"+time);    
71 
72 } catch (ParseException e) {
73 e.printStackTrace();
74 }
75 }}

转自:https://blog.csdn.net/pjz161026/article/details/54973161

 

posted @ 2018-08-16 15:59  闻长歌而知雅意  阅读(1185)  评论(0编辑  收藏  举报