java获取特定时间几个小时之前的时间
时间: 2023-07-06 16:40:21 浏览: 83
可以使用Java中的SimpleDateFormat类和Calendar类来获取特定时间几个小时之前的时间,具体实现如下:
```
// 定义需要转换的时间格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 将特定时间转换为Date对象
Date specificTime = sdf.parse("2021-06-01 10:30:00");
// 获取Calendar实例,设置时间为特定时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(specificTime);
// 将时间往前推n个小时
calendar.add(Calendar.HOUR_OF_DAY, -n); // n为需要减去的小时数
// 转换为需要的时间格式输出
String resultTime = sdf.format(calendar.getTime());
```
其中,`"yyyy-MM-dd HH:mm:ss"`为需要转换的时间格式,`"2021-06-01 10:30:00"`为特定时间,`-n`表示需要减去的小时数,可以根据具体需求来修改。最后,将`calendar.getTime()`转化为需要的时间格式输出即可。
相关问题
获取当前时间 java
在Java中,有几种方式可以获取当前时间。
一种常用的方式是使用Java.util.Date类来获取当前时间。可以通过创建Date对象来获取当前时间。这个方法的速度一般,但比较常用。例如:Date date = new Date();
另一种方式是使用System类中的currentTimeMillis()方法。这个方法可以快速获取当前时间,而且不受时区的影响。它返回的是一个时间戳的格式,可以通过代码将时间戳转化为可理解的格式。例如:long currentTime = System.currentTimeMillis();
还有一种方式是使用Calendar类来获取当前时间。Calendar类可以用来转换特定时刻和日历字段之间的日期和时间,并且支持更自由的取时间。可以通过调用Calendar类的getInstance()方法来获取一个Calendar对象,然后可以通过调用get()方法来获取年、月、日、时、分、秒等时间信息。例如:Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR);
总结起来,获取当前时间的方式包括使用Date类、System类的currentTimeMillis()方法以及Calendar类。这些方法都可以根据不同的需求选择使用。
java实现当前日期根据指定天数,每周特定几天获取最后一天时间
为了实现这个功能,我们可以使用 Java 中的 Calendar 类。以下是 Java 代码示例:
```
import java.util.Calendar;
public class LastDayOfWeek {
public static void main(String[] args) {
// 指定天数和每周特定几天
int days = 10;
int[] weekdays = {Calendar.MONDAY, Calendar.WEDNESDAY};
// 获取当前日期
Calendar cal = Calendar.getInstance();
// 计算最后一天
cal.add(Calendar.DATE, days - 1);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
while (!contains(weekdays, dayOfWeek)) {
cal.add(Calendar.DATE, -1);
dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
}
System.out.println(cal.getTime());
}
private static boolean contains(int[] arr, int value) {
for (int i : arr) {
if (i == value) {
return true;
}
}
return false;
}
}
```
这个程序可以根据指定天数和每周特定几天计算出最后一天的日期。在这个例子中,我们指定了 10 天和周一、周三这两个特定的工作日。程序将计算出最后一天是哪一天,并输出它的日期。