java常用类解析十:Date类和Calendar类示例

来源:互联网 发布:怎么样自学编程 编辑:程序博客网 时间:2024/05/16 17:38

1、Date类实例:格式化输出当前日期

[java] view plaincopy
  1. <span style="font-size:16px;">package demo.others;  
  2.   
  3. import java.text.Format;  
  4. import java.text.SimpleDateFormat;  
  5. import java.util.Date;  
  6.   
  7. public class DateDemo {  
  8.     public static void main(String[] args) {  
  9.         Date d = new Date();  
  10.         //输出格式:dow mon dd hh:mm:ss zzz yyyy  
  11.         //表示      :星期  月    日期  时   分   秒    时区 年  
  12.         System.out.println(d);  
  13.         //Format 是一个用于格式化语言环境敏感的信息(如日期、消息和数字)的抽象基类。  
  14.         Format format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");  
  15.         System.out.println(format.format(d));  
  16.     }  
  17. }  
  18. </span>  

 

2、Calendar及GregorianCalendar类实例:获取当前日期、打印当前月份日历、计算两个日期之间相差的天数

 

[java] view plaincopy
  1. <span style="font-size:16px;">package demo.others;  
  2.   
  3. import java.util.Calendar;  
  4. import java.util.Date;  
  5. import java.util.GregorianCalendar;  
  6.   
  7. /* 
  8.  * 日历类简单例子,Calendar类不稳定,有延时性和容错性 
  9.  */  
  10. public class CalendarDemo {  
  11.     public static void main(String[] args) {  
  12.         simpleDemo();  
  13.         showCalendar();  
  14.         numberOfDays();  
  15.     }  
  16.   
  17.     // Calendar常用方法示例  
  18.     public static void simpleDemo() {  
  19.         //当前日期  
  20.         Calendar c = new GregorianCalendar();  
  21.         //c.setTime(new Date());  
  22.         StringBuilder str = new StringBuilder();  
  23.         //获取当前日期的信息  
  24.         str.append("year:" + c.get(Calendar.YEAR));  
  25.         str.append("   month:" + (c.get(Calendar.MONTH) + 1));  
  26.         str.append("   day:" + c.get(Calendar.DAY_OF_MONTH));  
  27.         str.append("   week:" + (c.get(Calendar.DAY_OF_WEEK) - 1));  
  28.         str.append("   hour:" + c.get(Calendar.HOUR_OF_DAY));  
  29.         str.append("   minute:" + c.get(Calendar.MINUTE));  
  30.         str.append("   second:" + c.get(Calendar.SECOND));  
  31.         System.out.println(str);  
  32.   
  33.         // 转换成Date对象  
  34.         Date d = Calendar.getInstance().getTime();  
  35.         System.out.println(d);  
  36.     }  
  37.   
  38.     // 输出当前月的日历  
  39.     public static void showCalendar() {  
  40.         // 获得当前时间  
  41.         Calendar c = Calendar.getInstance();  
  42.   
  43.         // 设置代表的日期为1号  
  44.   
  45.         c.set(Calendar.DATE, 1);  
  46.   
  47.         // 获得1号是星期几  
  48.   
  49.         int start = c.get(Calendar.DAY_OF_WEEK);  
  50.   
  51.         // 获得当前月的最大日期数  
  52.   
  53.         int maxDay = c.getActualMaximum(Calendar.DATE);  
  54.   
  55.         // 输出标题  
  56.   
  57.         System.out.println("星期日 星期一 星期二 星期三 星期四 星期五   星期六");  
  58.   
  59.         // 输出开始的空格  
  60.   
  61.         for (int i = 1; i < start; i++) {  
  62.   
  63.             System.out.print("      ");  
  64.   
  65.         }  
  66.   
  67.         // 输出该月中的所有日期  
  68.   
  69.         for (int i = 1; i <= maxDay; i++) {  
  70.   
  71.             // 输出日期数字  
  72.   
  73.             System.out.print(" " + i);  
  74.   
  75.             // 输出分隔空格  
  76.   
  77.             System.out.print("   ");  
  78.   
  79.             if (i < 10) {  
  80.   
  81.                 System.out.print(' ');  
  82.   
  83.             }  
  84.   
  85.             // 判断是否换行  
  86.   
  87.             if ((start + i - 1) % 7 == 0) {  
  88.   
  89.                 System.out.println();  
  90.   
  91.             }  
  92.   
  93.         }  
  94.   
  95.         // 换行  
  96.   
  97.         System.out.println();  
  98.   
  99.     }  
  100.   
  101.     // 计算两个日期之间相差的天数  
  102.     public static void numberOfDays() {  
  103.   
  104.         // 设置两个日期  
  105.   
  106.         // 日期:2009年3月11号  
  107.   
  108.         Calendar c1 = Calendar.getInstance();  
  109.   
  110.         c1.set(20093 - 111);  
  111.   
  112.         // 日期:2010年4月1号  
  113.   
  114.         Calendar c2 = Calendar.getInstance();  
  115.   
  116.         c2.set(20104 - 11);  
  117.   
  118.         // 转换为相对时间  
  119.   
  120.         long t1 = c1.getTimeInMillis();  
  121.   
  122.         long t2 = c2.getTimeInMillis();  
  123.   
  124.         // 计算天数  
  125.   
  126.         long days = (t2 - t1) / (24 * 60 * 60 * 1000);  
  127.   
  128.         System.out.println(days);  
  129.     }  
  130.   
  131. }  
  132. </span> 
原创粉丝点击