Java 日期类是 Java 编程语言中的一个重要组成部分,它提供了一种方便的方式来处理日期和时间。Java 日期类提供了一个可以用来处理时间和日期的对象,它可以用来存储、检索和操作时间和日期。
Java 日期类包括 java.util.Date 和 java.util.Calendar 两个重要的类。java.util.Date 类表示特定的时间,它可以用来存储、检索和操作特定的时间。java.util.Calendar 类是一个抽象类,它可以用来表示特定的时间,并提供了一些方法来处理这些时间。
// 获取当前时间 Date date = new Date(); System.out.println(date); // 获取当前 Calendar 实例 Calendar calendar = Calendar.getInstance(); System.out.println(calendar);
Date类的一个对象存储自1970年1月1日午夜时代起经过的毫秒数。 并表示时间的瞬间。
Date类默认构造函数使用当前系统日期时间创建一个Date对象。
下面的代码显示了如何使用Date类。
import java.util.Date; public class Main { public static void main(String[] args) { Date currentDate = new Date(); System.out.println("Current date: " + currentDate); long millis = currentDate.getTime(); System.out.println("Current datetime in millis: " + millis); } }
上面的代码生成以下结果。
日历是一个抽象类。 GregorianCalendar类扩展了Calendar类。
GregorianCalendar类有一个默认的构造函数,它创建一个对象来表示当前的datetime。
GregorianCalendar类还定义了我们可以用来创建特定日期的构造函数。
我们还可以在特定时区创建日期。
import java.util.Calendar; import java.util.GregorianCalendar; import java.util.TimeZone; public class Main { public static void main(String[] args) { // Get the current date in the system default time zone GregorianCalendar currentDate = new GregorianCalendar(); System.out.println(currentDate.getTime()); // Get GregorianCalendar object representing March 21, 2014 07:30:45 AM GregorianCalendar someDate = new GregorianCalendar(2014, Calendar.MARCH, 21, 7, 30, 45); System.out.println(someDate.getTime()); // Get Indian time zone, which is GMT+05:30 TimeZone indianTZ = TimeZone.getTimeZone("GMT+05:30"); GregorianCalendar indianDate = new GregorianCalendar(indianTZ); System.out.println(indianDate.getTime()); } }
上面的代码生成以下结果。
日期的月份部分范围为0到11.一月为0,二月为1,依此类推。
get()与请求的字段返回datetime中的字段的值。
import java.util.Calendar; import java.util.GregorianCalendar; public class Main { public static void main(String[] args) { GregorianCalendar gc = new GregorianCalendar(); // current year value int year = gc.get(Calendar.YEAR); System.out.println(year); // current month value int month = gc.get(Calendar.MONTH); System.out.println(month); // day of month int day = gc.get(Calendar.DAY_OF_MONTH); System.out.println(day); // hour value int hour = gc.get(Calendar.HOUR); System.out.println(hour); // minute value int minute = gc.get(Calendar.MINUTE); System.out.println(minute); // second values int second = gc.get(Calendar.SECOND); System.out.println(second); } }
上面的代码生成以下结果。
add()
向日期添加一个值。 金额可以是负数或正数。 日历知道如何调整。
import java.util.Calendar; import java.util.GregorianCalendar; public class Main { public static void main(String[] args) { GregorianCalendar gc = new GregorianCalendar(2014, Calendar.DECEMBER, 1); gc.add(Calendar.MONTH, 5); System.out.println(gc.getTime()); } }
上面的代码生成以下结果。
roll()
向指定的日历字段添加金额,而不更改较大的字段。
这是一个重载的方法。
void roll(int field, int amount) void roll(int field, boolean up)
假设我们将GregorianCalendar设置为1999年8月31日。调用roll(Calendar.MONTH,8)将日历设置为1999年4月30日.DAY_OF_MONTH字段在四月份不能为31。 DAY_OF_MONTH被设置为最接近的可能值30.YEAR字段保持1999的值,因为它是比MONTH大的字段。
roll(Calendar.MONTH,1)与roll相同(Calendar。MONTH,true)。
roll(Calendar.MONTH,-1)与roll(Calendar.MONTH,false)相同。
import java.util.Calendar; import java.util.GregorianCalendar; public class Main { public static void main(String[] args) { GregorianCalendar gc = new GregorianCalendar(); System.out.println("Current Date: " + gc.getTime()); // Add 1 year gc.add(Calendar.YEAR, 1); System.out.println(gc.getTime()); // Add 15 days gc.add(Calendar.DATE, 15); System.out.println(gc.getTime()); } }
上面的代码生成以下结果。
Java流 - Java文件流来自Java 8的java.io和java.nio.file包添加了许多方法来支持使用流的I/O操作。我们可以从文件中读取文本作为...
Java IO教程 - Java打印流PrintStream类是输出流的具体装饰器。PrintStream可以以合适的格式打印任何数据类型值,基本或对象。Pr...
Java IO教程 -Java路径操作比较路径我们可以基于它们的文本表示来比较两个Path对象的相等性。equals()方法通过比较它们的字符串...
Java流 -Java并行流流可以是顺序的或并行的。顺序流上的操作由一个线程串行处理。使用多个线程并行处理并行流上的操作。默认情况...
JavaFX教程 -JavaFX树表视图JavaFX TreeTableView在表列中渲染数据的层次结构。TreeTableView组件组合了TreeView和TableView控件...