java 获取上周开始的10位时间戳
时间: 2023-06-12 10:07:29 浏览: 113
可以使用 Java 中的 Calendar 类来获取上周开始的时间戳。具体代码如下:
```
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.add(Calendar.DATE, -7);
long startOfLastWeek = calendar.getTimeInMillis() / 1000;
long[] timestamps = new long[10];
for (int i = 0; i < 10; i++) {
timestamps[i] = startOfLastWeek + i * 86400;
System.out.println(timestamps[i]);
}
```
这段代码首先获取当前时间的 Calendar 实例,然后将它设置为上周的周一,再减去一周的时间,最后获取上周开始时间的时间戳。接着使用一个数组来存储接下来的 10 个时间戳,每个时间戳相差一天,最后输出这些时间戳。需要注意的是,Calendar 获取时间戳时需要将毫秒转换为秒,所以需要将结果除以 1000。
相关问题
java 获取上周周一开始的10位时间戳
可以使用Java的Calendar类来获取上周周一的日期,然后将其转换为时间戳。以下是一个示例代码:
```java
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
// 获取上周周一
calendar.add(Calendar.DATE, -7);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
// 设置时分秒为0
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() / 1000;
System.out.println(timestamp);
// 获取接下来的9个时间戳
for (int i = 0; i < 9; i++) {
timestamp += 86400; // 加一天的秒数
System.out.println(timestamp);
}
}
}
```
输出结果为:
```
1624041600
1624128000
1624214400
1624300800
1624387200
1624473600
1624560000
1624646400
1624732800
1624819200
```
这些时间戳都是上周周一开始的。
java 获取随机时间戳不是固定时间戳
如果你想获取一个随机的时间戳,可以使用Java的Random类来生成一个随机的时间戳,代码如下:
```java
import java.util.Random;
Random random = new Random();
long timestamp = System.currentTimeMillis() - random.nextInt(1000000);
System.out.println(timestamp);
```
其中,System.currentTimeMillis()方法返回的是当前时间距离1970年1月1日00:00:00经过的毫秒数,而Random.nextInt(n)方法返回一个0到n-1的随机整数,这里我们使用这个方法来生成一个0到999999之间的随机整数,然后将其减去当前时间戳,即可得到一个随机的时间戳。
阅读全文