Integer time = query.getTime(); time是年份 通过这个年份获得每个月的开始时间 以00:00:00 结尾 不要纳秒 并获取到每个月的结束时间 一23::59:59 结尾不要纳秒 java
时间: 2024-01-26 13:03:41 浏览: 75
可以使用 Java 中的 Calendar 和 SimpleDateFormat 类来实现。
首先,将时间戳转换为 Calendar 对象,然后分别设置为每个月的第一天和最后一天,最后使用 SimpleDateFormat 类将其格式化为所需的字符串。
以下是示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(query.getTime());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 获取每个月的开始时间
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
String startOfMonth = sdf.format(calendar.getTime());
// 获取每个月的结束时间
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
String endOfMonth = sdf.format(calendar.getTime());
// 输出结果
System.out.println("Start of month: " + startOfMonth);
System.out.println("End of month: " + endOfMonth);
}
}
```
其中,query.getTime() 返回的是时间戳,单位为毫秒。可以根据需要进行单位转换。
阅读全文