Android 获取某一天0点的时间戳
时间: 2024-03-08 10:47:00 浏览: 209
你可以通过以下代码获取某一天0点的时间戳:
```java
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, day, 0, 0, 0); // year、month、day 分别为年、月、日
long timestamp = calendar.getTimeInMillis() / 1000L; // 转换为秒级时间戳
```
其中,`year`、`month`、`day` 分别为你要获取的日期的年、月、日。需要注意的是,`month` 的取值范围是 1 到 12,而 `Calendar` 类中的月份是从 0 开始计数的,因此需要将 `month` 减 1。获取的时间戳单位是毫秒,需要除以 1000 转换为秒级时间戳。
相关问题
Android 获取后一天0点的时间戳
可以使用以下代码获取当前时间的后一天0点的时间戳:
```java
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.DAY_OF_YEAR, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long timestamp = calendar.getTimeInMillis();
```
其中,`calendar.add(Calendar.DAY_OF_YEAR, 1)` 表示将当前时间加一天,`calendar.set(Calendar.HOUR_OF_DAY, 0)` 表示将小时设置为0,`calendar.set(Calendar.MINUTE, 0)` 表示将分钟设置为0,`calendar.set(Calendar.SECOND, 0)` 表示将秒数设置为0,`calendar.set(Calendar.MILLISECOND, 0)` 表示将毫秒数设置为0。最后,通过 `calendar.getTimeInMillis()` 方法获取时间戳。
Android 获取连续前7天的时间戳
以下是获取连续前7天的时间戳的 Java 代码:
```java
// 获取当前时间戳
long currentTimeStamp = System.currentTimeMillis();
// 获取当前时区
TimeZone timeZone = TimeZone.getDefault();
// 计算前7天的时间戳
long sevenDaysAgoTimeStamp = currentTimeStamp - 7 * 24 * 60 * 60 * 1000;
// 根据当前时区调整时间戳
sevenDaysAgoTimeStamp += timeZone.getRawOffset();
// 打印前7天的时间戳
for (int i = 1; i <= 7; i++) {
System.out.println("前" + i + "天的时间戳:" + (sevenDaysAgoTimeStamp - (i - 1) * 24 * 60 * 60 * 1000));
}
```
以上代码会打印出连续前7天的时间戳,每一天一个时间戳。注意,这里的时间戳是指自 1970 年 1 月 1 日 00:00:00 GMT 起至现在的总毫秒数。
阅读全文