java写个方法,通过判断statisticsRange为YEAR,那么选择本年一月一号至今,如果statisticsRange为MONTH,则获取本月一号至今
时间: 2024-05-08 11:19:13 浏览: 87
日期的时间戳范围。
好的,这是一个关于 Java 的问题。您可以使用 Calendar 类和 SimpleDateFormat 类来实现您的需求。以下是一个参考实现:
```
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
public static long[] getTimeRange(String statisticsRange) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long endDate = calendar.getTimeInMillis();
if (statisticsRange.equals("YEAR")) {
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.DAY_OF_MONTH, 1);
long startDate = calendar.getTimeInMillis();
return new long[] {startDate, endDate};
} else if (statisticsRange.equals("MONTH")) {
calendar.set(Calendar.DAY_OF_MONTH, 1);
long startDate = calendar.getTimeInMillis();
return new long[] {startDate, endDate};
} else {
throw new IllegalArgumentException("Invalid statistics range: " + statisticsRange);
}
}
}
```
这个方法接受一个字符串类型的参数“statisticsRange”,并返回一个长度为2的long类型数组,第一个元素是开始时间戳,第二个元素是结束时间戳。如果“statisticsRange”为“YEAR”,则返回当前年份的1月1日到当前日期的时间戳范围;如果“statisticsRange”为“MONTH”,则返回当前月份的1日到当前日期的时间戳范围。
希望能对您有所帮助!
阅读全文