java 日期和时间
2016-02-25 12:56
531 查看
1.如何取得年月日、小时分钟秒?
2.如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
3.如何取得某月的最后一天?
4.如何格式化日期?
5.打印昨天的当前时刻。
1.如何取得年月日、小时分钟秒?
答:创建java.util.Calendar 实例,调用其get()方法传入不同的参数即可获得参数所对应的值。Java 8中可以使用java.time.LocalDateTimel来获取,代码如下所示。
2.如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
答:以下方法均可获得该毫秒数。
3.如何取得某月的最后一天?
答:代码如下所示。
4.如何格式化日期?
答:利用java.text.DataFormat 的子类(如SimpleDateFormat类)中的format(Date)方法可将日期格式化。Java 8中可以用java.time.format.DateTimeFormatter来格式化时间日期,代码如下所示。
5.打印昨天的当前时刻。
答:
在Java 8中,可以用下面的代码实现相同的功能。
Java的时间日期API一直以来都是被诟病的东西,为了解决这一问题,Java 8中引入了新的时间日期API,其中包括LocalDate、LocalTime、LocalDateTime、Clock、Instant等类,这些的类的设计都使用了不变模式,因此是线程安全的设计。可参考《关于Java并发编程的总结和思考》
2.如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
3.如何取得某月的最后一天?
4.如何格式化日期?
5.打印昨天的当前时刻。
1.如何取得年月日、小时分钟秒?
答:创建java.util.Calendar 实例,调用其get()方法传入不同的参数即可获得参数所对应的值。Java 8中可以使用java.time.LocalDateTimel来获取,代码如下所示。
public class DateTimeTest { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR)); System.out.println(cal.get(Calendar.MONTH)+1); // 0 - 11 System.out.println(cal.get(Calendar.DATE)); System.out.println(cal.get(Calendar.HOUR_OF_DAY)); System.out.println(cal.get(Calendar.MINUTE)); System.out.println(cal.get(Calendar.SECOND)); // Java 8 LocalDateTime dt = LocalDateTime.now(); System.out.println(dt.getYear()); System.out.println(dt.getMonthValue()); // 1 - 12 System.out.println(dt.getDayOfMonth()); System.out.println(dt.getHour()); System.out.println(dt.getMinute()); System.out.println(dt.getSecond()); } }
2.如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
答:以下方法均可获得该毫秒数。
Calendar.getInstance().getTimeInMillis(); System.currentTimeMillis(); Clock.systemDefaultZone().millis(); // Java 8
3.如何取得某月的最后一天?
答:代码如下所示。
Calendar time = Calendar.getInstance(); time.getActualMaximum(Calendar.DAY_OF_MONTH);
4.如何格式化日期?
答:利用java.text.DataFormat 的子类(如SimpleDateFormat类)中的format(Date)方法可将日期格式化。Java 8中可以用java.time.format.DateTimeFormatter来格式化时间日期,代码如下所示。
import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Date; class DateFormatTest { public static void main(String[] args) { SimpleDateFormat oldFormatter = new SimpleDateFormat("yyyy/MM/dd"); Date date1 = new Date(); System.out.println(oldFormatter.format(date1)); // Java 8 DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd"); LocalDate date2 = LocalDate.now(); System.out.println(date2.format(newFormatter)); } }
5.打印昨天的当前时刻。
答:
import java.util.Calendar; class YesterdayCurrent { public static void main(String[] args){ Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); System.out.println(cal.getTime()); } }
在Java 8中,可以用下面的代码实现相同的功能。
import java.time.LocalDateTime; class YesterdayCurrent { public static void main(String[] args) { LocalDateTime today = LocalDateTime.now(); LocalDateTime yesterday = today.minusDays(1); System.out.println(yesterday); } }
Java的时间日期API一直以来都是被诟病的东西,为了解决这一问题,Java 8中引入了新的时间日期API,其中包括LocalDate、LocalTime、LocalDateTime、Clock、Instant等类,这些的类的设计都使用了不变模式,因此是线程安全的设计。可参考《关于Java并发编程的总结和思考》
相关文章推荐
- java内部类里面使用static
- A星算法(Java实现)
- Java序列化详解
- JAVA Exception理解
- 【持续更新】把.net代码转换为java代码的注意事项
- 242. Valid Anagram
- Java设计模式——桥接模式
- [leetcode]ZigZag Conversion
- java基础-Map集合
- POJ 1222 Java: Extended lights out 枚举
- java笔记:关于类与接口的继承
- 《Java JDK8学习笔记》读书笔记(3)
- 一个java 类构造器 异常的bug
- servlet容器 在java应用程序作用
- spring返回@ResponseBody报406
- Java基础
- 处理Java异常三原则(必备)
- java多线程-Java中的Copy-On-Write容器
- Java数组操作的10大方法
- Java中的堆和栈的区别