java 获取当前周第一天的开始时间戳
时间: 2023-11-21 08:10:02 浏览: 148
可以使用 Java 中的 Calendar 类来获取当前周的第一天。首先获取当前日期的 Calendar 实例,然后通过设置它的 DAY_OF_WEEK 属性为 1 来获取当前周的第一天,最后将其转换为时间戳即可。
以下是示例代码:
```java
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
// 获取当前日期的 Calendar 实例
Calendar calendar = Calendar.getInstance();
// 将 DAY_OF_WEEK 属性设置为 1,即将日期调整到当前周的第一天(周日)
calendar.set(Calendar.DAY_OF_WEEK, 1);
// 获取当前周第一天的开始时间戳
long startTimeStamp = calendar.getTimeInMillis();
System.out.println(startTimeStamp);
}
}
```
输出结果为当前周第一天的开始时间戳。
相关问题
java 获取下周(周一是第一天) 的开始时间戳
以下是获取下周周一开始时间戳的Java代码:
```java
import java.time.DayOfWeek;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneOffset;
public class Main {
public static void main(String[] args) {
LocalDate nextMonday = LocalDate.now().with(DayOfWeek.MONDAY).plusWeeks(1);
Instant nextMondayInstant = nextMonday.atStartOfDay().toInstant(ZoneOffset.UTC);
long nextMondayTimestamp = nextMondayInstant.getEpochSecond();
System.out.println(nextMondayTimestamp);
}
}
```
首先,我们使用`LocalDate.now()`获取当前日期。然后,使用`with(DayOfWeek.MONDAY)`将日期调整为本周的周一。接着,使用`plusWeeks(1)`将日期调整为下周的周一。然后,使用`atStartOfDay()`将日期转换为当天的开始时间。最后,使用`toInstant(ZoneOffset.UTC)`将日期转换为UTC时区的Instant对象,并使用`getEpochSecond()`获取其时间戳。
java获得本日,本月,本周,本年第一天0点0分0秒的13位时间戳
获取本日第一天时间戳:
```java
// 获取当前时间
Date now = new Date();
// 获取本日第一天日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date today = calendar.getTime();
// 转换为13位时间戳
long timestamp = today.getTime();
```
获取本月第一天时间戳:
```java
// 获取当前时间
Date now = new Date();
// 获取本月第一天日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date firstDayOfMonth = calendar.getTime();
// 转换为13位时间戳
long timestamp = firstDayOfMonth.getTime();
```
获取本周第一天时间戳:
```java
// 获取当前时间
Date now = new Date();
// 获取本周第一天日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date firstDayOfWeek = calendar.getTime();
// 转换为13位时间戳
long timestamp = firstDayOfWeek.getTime();
```
获取本年第一天时间戳:
```java
// 获取当前时间
Date now = new Date();
// 获取本年第一天日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date firstDayOfYear = calendar.getTime();
// 转换为13位时间戳
long timestamp = firstDayOfYear.getTime();
```
阅读全文