calendar.getTime() 返回格式为yyyy-MM-dd的Date
时间: 2024-09-23 10:11:02 浏览: 65
`Calendar`是一个Java内置的时间管理类,它允许对日期和时间进行各种操作。当你使用`calendar.getTime()`方法时,返回的是一个`Date`对象,这个对象代表了当前`Calendar`所设置的日期和时间。默认情况下,如果你只是想获得一个字符串形式表示为"yyyy-MM-dd"的日期,你需要手动将其转换。
例如:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
Calendar calendar = Calendar.getInstance(); // 获取当前时间
Date currentDate = calendar.getTime();
String formattedDate = new SimpleDateFormat("yyyy-MM-dd").format(currentDate);
System.out.println(formattedDate); // 输出格式化的日期,如 "2023-04-05"
```
在这个例子中,我们创建了一个`Calendar`实例,获取了当前日期和时间。然后使用`SimpleDateFormat`将`Date`对象格式化为指定的"yyyy-MM-dd"格式。
注意,`SimpleDateFormat`在Java 9之后不再推荐直接使用,因为它不是一个线程安全的类。如果在多线程环境中,应该考虑使用`java.time.format.DateTimeFormatter`替换。
相关问题
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(datestr); Calendar calendar = new GregorianCalendar() calendar.setTime(date) calendar.add(Calendar.MONTH, 0); calendar.set(Calendar.DAY_OF_MONTH, 1); var firstDay = calendar.getTime(); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); var lastday = calendar.getTime()
这段代码的作用是将一个字符串类型的日期转换为该月份的第一天和最后一天的日期。具体来说,它首先将字符串类型的日期解析为 Date 对象,然后将其设置为 GregorianCalendar 对象的时间,接着将该月份的第一天和最后一天的日期分别设置为 Calendar 对象的时间,并将它们转换为 Date 对象。最后,它将这两个 Date 对象分别赋值给 firstDay 和 lastday 变量。
Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek()); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (int i = 0; i < 7; i++) { Date startDate = calendar.getTime(); calendar.add(Calendar.DATE, 1); calendar.add(Calendar.MILLISECOND, -1); Date endDate = calendar.getTime(); System.out.println("start: " + dateFormat.format(startDate) + ", end: " + dateFormat.format(endDate)); calendar.add(Calendar.MILLISECOND, 1); } 输出结果
这段代码的作用是输出当前周的每一天的起始时间和结束时间。首先通过 `Calendar.getInstance()` 获取当前日期的 `Calendar` 对象,然后使用 `calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek())` 将日期设置为本周的第一天,即星期日。接着使用 `SimpleDateFormat` 格式化日期,并循环输出每一天的起始时间和结束时间。
具体输出结果取决于当前日期是哪一天,以下是一个例子输出结果:
```
start: 2021-11-01 00:00:00, end: 2021-11-01 23:59:59
start: 2021-11-02 00:00:00, end: 2021-11-02 23:59:59
start: 2021-11-03 00:00:00, end: 2021-11-03 23:59:59
start: 2021-11-04 00:00:00, end: 2021-11-04 23:59:59
start: 2021-11-05 00:00:00, end: 2021-11-05 23:59:59
start: 2021-11-06 00:00:00, end: 2021-11-06 23:59:59
start: 2021-11-07 00:00:00, end: 2021-11-07 23:59:59
```
阅读全文
相关推荐
















