Date startDate = calendar.getTime(); 怎么获得日期
时间: 2023-12-03 15:42:27 浏览: 113
`calendar.getTime()` 返回一个 `Date` 对象,表示该 `Calendar` 实例所代表的日期和时间。可以使用该对象获取日期。例如:
```java
// 获取当前日期
Calendar calendar = Calendar.getInstance();
Date currentDate = calendar.getTime();
System.out.println(currentDate); // 输出当前日期
// 获取指定日期
calendar.set(2021, Calendar.JANUARY, 1); // 设置为2021年1月1日
Date date = calendar.getTime();
System.out.println(date); // 输出2021-01-01
```
注意,`Calendar` 类的月份从0开始,即0表示1月。因此,上面的代码中`Calendar.JANUARY`表示1月份。
相关问题
Date startDate = calendar.getTime(); 通过startDate 获得日期
如果您想获得startDate的日期,您可以使用Java的SimpleDateFormat类来格式化日期。以下是一个示例代码:
```
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = sdf.format(startDate);
System.out.println(formattedDate);
```
这将使用"yyyy-MM-dd"格式将startDate转换为字符串形式,并将其打印到控制台上。您可以根据需要更改日期格式。
String startTimeStr = query.getTimeRange()[0]; String endTimeStr = query.getTimeRange()[1]; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date startDate = sdf.parse(startTimeStr); Date endDate = sdf.parse(endTimeStr); Calendar startCal = Calendar.getInstance(); startCal.setTime(startDate); startCal.set(Calendar.HOUR_OF_DAY, 0); startCal.set(Calendar.MINUTE, 0); startCal.set(Calendar.SECOND, 0); Calendar endCal = Calendar.getInstance(); endCal.setTime(endDate); endCal.set(Calendar.HOUR_OF_DAY, 23); endCal.set(Calendar.MINUTE, 59); endCal.set(Calendar.SECOND, 59); while (startCal.before(endCal)) { Date dayStart = startCal.getTime(); System.out.println("Day start: " + sdf.format(dayStart)); startCal.set(Calendar.HOUR_OF_DAY, 0); startCal.set(Calendar.MINUTE, 0); startCal.set(Calendar.SECOND, 0); Date dayEnd = startCal.getTime(); if (dayEnd.after(endCal.getTime())) { endCal.setTime(startCal.getTime()); endCal.set(Calendar.HOUR_OF_DAY, 23); endCal.set(Calendar.MINUTE, 59); endCal.set(Calendar.SECOND, 59); dayEnd = endCal.getTime(); } System.out.println("Day end: " + sdf.format(dayEnd)); startCal.add(Calendar.DAY_OF_MONTH, 1); } 用hutoo工具 java 优化
可以使用 Hutool 工具类中的 DateUtil 进行日期处理,简化代码:
```
String startTimeStr = query.getTimeRange()[0];
String endTimeStr = query.getTimeRange()[1];
Date startDate = DateUtil.parse(startTimeStr);
Date endDate = DateUtil.parse(endTimeStr);
while (startDate.before(endDate)) {
Date dayStart = DateUtil.beginOfDay(startDate);
System.out.println("Day start: " + DateUtil.formatDateTime(dayStart));
Date dayEnd = DateUtil.endOfDay(startDate);
System.out.println("Day end: " + DateUtil.formatDateTime(dayEnd));
startDate = DateUtil.offsetDay(startDate, 1);
}
```
阅读全文