Java获取及格式化当前时间的方法

5星 · 超过95%的资源 需积分: 48 13 下载量 63 浏览量 更新于2024-09-22 收藏 5KB TXT 举报
"在Java编程中,获取当前时间通常有两种主要的方法。一种是通过`java.util.Date`类,另一种是利用`System.currentTimeMillis()`方法。当使用`Date`类时,可以结合`java.text.DateFormat`类来格式化输出的时间。在示例代码中,展示了多种日期和时间格式的设置和输出方式,包括日期、日期时间、时间和不同详细程度的格式。" 在Java中,获取当前时间是一个常见的需求。以下是对这个主题的详细解释: 1. **`java.util.Date` 类**: `Date` 类是表示特定瞬间的类,精确到毫秒。要获取当前时间,你可以创建一个`Date`对象,它将自动初始化为当前系统时间。例如: ```java Date now = new Date(); ``` 这个`now`对象就包含了当前时间。 2. **`System.currentTimeMillis()` 方法**: 如果你只需要获取一个长整型的毫秒值来表示当前时间,可以使用`System.currentTimeMillis()`。这个方法返回的是自1970年1月1日(格林尼治标准时间)00:00:00以来的毫秒数。 ```java long currentTimeMillis = System.currentTimeMillis(); ``` 3. **`java.text.DateFormat` 类**: `DateFormat` 是一个抽象类,用于格式化和解析日期或时间。它可以用来将`Date`对象转换为字符串,以便于人类阅读。`DateFormat`有多个静态工厂方法来获取预定义的日期和时间格式,如`getDateInstance()`,`getDateTimeInstance()` 和 `getTimeInstance()`。 - `getDateInstance()` 返回一个默认的日期格式,例如"2008-6-16"。 - `getDateTimeInstance()` 返回日期和时间的组合格式,如"2008-6-16 20:54:53"。 - `getTimeInstance()` 返回一个默认的时间格式,如"20:54:53"。 每个方法都有几个重载版本,允许你指定日期和时间的详细程度(SHORT, MEDIUM, LONG, FULL)。例如: - `DateFormat.FULL` 是最详细的格式,可能包含星期几、日期、月份、年份、小时、分钟、秒等。 - `DateFormat.LONG` 包含的细节比FULL少一些。 - `DateFormat.MEDIUM` 和 `DateFormat.SHORT` 分别提供中等和简短的格式。 4. **示例代码分析**: 在提供的代码中,首先创建了一个`Date`对象`now`,然后使用不同的`DateFormat`实例对它进行格式化。`d1`到`d7`分别代表了不同格式的日期和时间,而`d8`使用了`DateFormat.MEDIUM`和`DateFormat.LONG`组合。 例如,`d1`使用`DateFormat.getDateInstance()`创建,因此它的输出将是中等格式的日期。`d2`和`d3`分别使用了日期时间格式的中等和简短形式,`d4`则使用了默认的日期时间格式。 5. **`Calendar` 类**: `Calendar` 是一个抽象类,代表日历字段的抽象类型。虽然在示例中没有深入使用,但通常`Calendar`可以用来获取和修改日期/时间组件,如年、月、日、时、分、秒等。 总结来说,Java提供了多种方式来获取和格式化当前时间,开发者可以根据需要选择适合的方法。在实际应用中,你可能会根据项目需求或用户界面的要求来定制日期和时间的显示格式。