Date、SimpleDateFormat、Calendar 小咪咪 2024-03-31 14:17 82阅读 0赞 > **Date---java.util 包提供了 Date 类来封装当前的日期和时间。** > > **SimpleDateFormat---格式化时间** > > **Calendar---日历类** ## Date ## ### 一、构造方法摘要 ### #### 1.分配 `Date` 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 #### Date date = new Date(); #### 2.分配 `Date` 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。 #### Date date = new Date(1000);// 表示从标准基准时间(当前所在时区)往后过了1000毫秒 // 打印date 结果为 Thu Jan 01 08:00:01 HKT 1970 ### 二、方法摘要 ### #### 测试此日期是否在指定日期之后。 #### Date date = new Date(); Date date2 = new Date(1000); boolean after = date.after(date2); System.out.println(after); // 输出结果为 true #### 测试此日期是否在指定日期之前。 #### Date date = new Date(); Date date2 = new Date(1000); boolean before = date.before(date2); System.out.println(before); // 输出结果为 false #### 比较两个日期的顺序。如果参数 Date 等于此 Date,则返回值 `0`;如果此 Date 在 Date 参数之前,则返回小于 `0` 的值;如果此 Date 在 Date 参数之后,则返回大于 `0` 的值。 #### Date date = new Date(); Date date2 = new Date(1000); int i = date.compareTo(date2); int i2 = date2.compareTo(date); int i3 = date.compareTo(date); // i:1 i2:-1 i3:0 #### 比较两个日期的相等性。 #### Date date = new Date(); Date date2 = new Date(1000); boolean bo = date.equals(date2); boolean bo2 = date2.equals(date2); // bo:true bo2:false #### 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 #### long time = date.getTime(); #### 把Date对象转换成String类型 #### Date date = new Date(); String s = date.toString(); #### 小题 #### Date date = new Date(); long time = date.getTime(); Date date2 = new Date(time); boolean bo= date.equals(date2); System.out.println(bo); // bo是true还是false? -------------------- ## SimpleDateFormat ## ### 一、构造方法摘要 ### #### 1.用默认的模式和默认语言环境的日期格式符号构造 `SimpleDateFormat`。 #### SimpleDateFormat sdf = new SimpleDateFormat(); #### 2.用给定的模式和默认语言环境的日期格式符号构造 `SimpleDateFormat`。 #### SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss"); <table> <tbody> <tr> <th>字母</th> <th>日期或时间元素</th> <th>表示</th> <th>示例</th> </tr> <tr> <td><code>G</code></td> <td>Era 标志符</td> <td><a rel="nofollow">Text</a></td> <td><code>AD</code></td> </tr> <tr> <td><code>y</code></td> <td>年</td> <td><a rel="nofollow">Year</a></td> <td><code>1996</code>; <code>96</code></td> </tr> <tr> <td><code>M</code></td> <td>年中的月份</td> <td><a rel="nofollow">Month</a></td> <td><code>July</code>; <code>Jul</code>; <code>07</code></td> </tr> <tr> <td><code>w</code></td> <td>年中的周数</td> <td><a rel="nofollow">Number</a></td> <td><code>27</code></td> </tr> <tr> <td><code>W</code></td> <td>月份中的周数</td> <td><a rel="nofollow">Number</a></td> <td><code>2</code></td> </tr> <tr> <td><code>D</code></td> <td>年中的天数</td> <td><a rel="nofollow">Number</a></td> <td><code>189</code></td> </tr> <tr> <td><code>d</code></td> <td>月份中的天数</td> <td><a rel="nofollow">Number</a></td> <td><code>10</code></td> </tr> <tr> <td><code>F</code></td> <td>月份中的星期</td> <td><a rel="nofollow">Number</a></td> <td><code>2</code></td> </tr> <tr> <td><code>E</code></td> <td>星期中的天数</td> <td><a rel="nofollow">Text</a></td> <td><code>Tuesday</code>; <code>Tue</code></td> </tr> <tr> <td><code>a</code></td> <td>Am/pm 标记</td> <td><a rel="nofollow">Text</a></td> <td><code>PM</code></td> </tr> <tr> <td><code>H</code></td> <td>一天中的小时数(0-23)</td> <td><a rel="nofollow">Number</a></td> <td><code>0</code></td> </tr> <tr> <td><code>k</code></td> <td>一天中的小时数(1-24)</td> <td><a rel="nofollow">Number</a></td> <td><code>24</code></td> </tr> <tr> <td><code>K</code></td> <td>am/pm 中的小时数(0-11)</td> <td><a rel="nofollow">Number</a></td> <td><code>0</code></td> </tr> <tr> <td><code>h</code></td> <td>am/pm 中的小时数(1-12)</td> <td><a rel="nofollow">Number</a></td> <td><code>12</code></td> </tr> <tr> <td><code>m</code></td> <td>小时中的分钟数</td> <td><a rel="nofollow">Number</a></td> <td><code>30</code></td> </tr> <tr> <td><code>s</code></td> <td>分钟中的秒数</td> <td><a rel="nofollow">Number</a></td> <td><code>55</code></td> </tr> <tr> <td><code>S</code></td> <td>毫秒数</td> <td><a rel="nofollow">Number</a></td> <td><code>978</code></td> </tr> <tr> <td><code>z</code></td> <td>时区</td> <td><a rel="nofollow">General time zone</a></td> <td><code>Pacific Standard Time</code>; <code>PST</code>; <code>GMT-08:00</code></td> </tr> <tr> <td><code>Z</code></td> <td>时区</td> <td><a rel="nofollow">RFC 822 time zone</a></td> <td><code>-0800</code></td> </tr> </tbody> </table> ### 二、方法摘要 ### #### 将给定的 `Date` 格式化为日期/时间字符串,并将结果添加到给定的 `String`。 #### Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss"); String time = sdf.format(date); System.out.println(time); // 输出结果为 2022-12-02 18-15-26 #### 解析字符串的文本,生成 `Date`。 #### String time = "2012-9-1 8-40-20"; Date date = sdf.parse(time); System.out.println(date); // 输出结果为 Sat Sep 01 08:40:20 HKT 2012 -------------------- ## Calendar ## #### Calendar 是一个抽象类, 无法通过直接实例化得到对象. 因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化. #### Calendar cal = Calendar.getInstance(); #### 获取当前年份 #### int year = cal.get(Calendar.YEAR); #### 获取当前月份 #### int month = cal.get(Calendar.MONTH+1);// 月份是从0-11 代表1-12月 所以想要获取当前月份需+1 #### 获取当前月份中的第几天 #### int dayOfMouth = cal.get(Calendar.DAY_OF_MONTH); #### 获取当前年份中的第几天 #### int dayOfYear = cal.get(Calendar.DAY_OF_YEAR); #### 获得当前时区 #### TimeZone tz =cal.getTimeZone(); #### 获取当前时间,以从历元至现在所经过的 UTC 毫秒数形式。 #### long timeInMillis = cal.getTimeInMillis(); -------------------- Date小题为 true
还没有评论,来说两句吧...