java 获取上下午_java中获取当前时间的几种方式
时间: 2023-06-28 19:10:01 浏览: 240
在Java中获取当前时间的几种方式如下:
1. 使用`java.util.Date`类
```java
Date date = new Date();
```
2. 使用`Calendar`类
```java
Calendar calendar = Calendar.getInstance();
```
3. 使用`java.time.LocalDateTime`类(Java 8及以上版本)
```java
LocalDateTime now = LocalDateTime.now();
```
获取上下午可以通过以下方式:
```java
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
String amOrPm = hour < 12 ? "上午" : "下午";
```
或者使用Java 8中的`java.time.format.DateTimeFormatter`类:
```java
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("a", Locale.CHINA);
String amOrPm = now.format(formatter);
```
相关问题
java获取本周工时_js计算工时,去周末,设置上下班时间
以下是一个示例代码,可以用来计算本周工时:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class WeekWorkHour {
public static void main(String[] args) {
// 设置上班和下班时间
int startHour = 9;
int startMinute = 0;
int endHour = 18;
int endMinute = 0;
// 获取当前日期
Calendar cal = Calendar.getInstance();
Date now = cal.getTime();
// 获取本周的第一天和最后一天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
String firstDayOfWeek = sdf.format(cal.getTime());
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
String lastDayOfWeek = sdf.format(cal.getTime());
// 计算工时
double totalWorkHour = 0;
for (int i = 0; i < 7; i++) {
cal.setTime(now);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY + i);
Date date = cal.getTime();
String dateString = sdf.format(date);
// 去掉周末
if (dateString.equals(firstDayOfWeek) || dateString.equals(lastDayOfWeek)) {
continue;
}
// 计算工作时间
double workHour = endHour - startHour;
if (endMinute > startMinute) {
workHour += (endMinute - startMinute) / 60.0;
} else {
workHour -= (startMinute - endMinute) / 60.0;
}
totalWorkHour += workHour;
}
System.out.println("本周工时:" + totalWorkHour);
}
}
```
这个示例代码假设上班时间是每天早上9点,下班时间是每天下午6点,可以根据实际情况进行修改。在计算工时时,会去掉周末(即周六和周日),只计算工作日的工时。
java判断当前时间是否大于下午6点种
在Java中,你可以使用`java.time`包中的`LocalTime`类和`now()`静态方法来获取当前的时间,并通过比较判断是否大于下午6点。以下是一个示例:
```java
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// 获取当前本地时间并格式化
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
String currentTimeString = LocalTime.now().format(formatter);
// 解析字符串,将其转换成LocalTime对象
LocalTime currentTime = LocalTime.parse(currentTimeString);
// 判断是否超过下午6点(18:00)
if (currentTime.isAfter(LocalTime.of(18, 0))) {
System.out.println("当前时间已超过下午6点");
} else {
System.out.println("当前时间尚未达到下午6点");
}
}
}
```
这段代码首先获取当前时间,然后解析并检查是否晚于18:00。
阅读全文