java获取各种时间,及格式

简介: java获取各种时间,及格式

废话不多说直接上代码

获取几天前,几天后,当天的时间

/**
 * description: 获取时间字符串
 *
 * @param days 负数为过去,正数为未来
 * @return java.lang.String
 * @author bo
 * @date 2023/2/21 10:26 AM
*/
public static String accessTimeString(Integer days) {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Calendar calendar = new GregorianCalendar();
  calendar.setTime(new Date());
  calendar.add(Calendar.DATE, days);
  return sdf.format(calendar.getTime());
}

获取上周日的时间

/**
 * description: 获取上周日的时间
 *
 * @return java.lang.String
 * @author bo
 * @date 2023/3/28 17:49
*/
public static String getLastSunDayTime() {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Calendar calendarEnd = Calendar.getInstance();
  calendarEnd.setTime(new Date());
  // 判断当前日期是否为周末,因为周末是本周第一天,如果不向后推迟一天的到的将是下周一的零点,而不是本周周一零点
  if (1 == calendarEnd.get(Calendar.DAY_OF_WEEK)) {
    calendarEnd.add(Calendar.DATE, -1);
  }
  calendarEnd.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
  return sdf.format(calendarEnd.getTime());
}

将时间格式格式为*“yyyy-MM-DDTHH:mm:ss+TIMEZONE”*转换为指定格式的时间字符串

/**
 * 将时间格式格式为"yyyy-MM-DDTHH:mm:ss+TIMEZONE"转换为指定格式的时间字符串
 *
 * @param inputTime    待转换的时间字符串,
 * @param outputFormat 输出时间的格式,如"yyyy-MM-dd HH:mm:ss"
 * @return 转换后的时间字符串
*/
public static String convertTimeFormat(String inputTime, String outputFormat) throws ParseException {
  // 创建输入格式化器
  SimpleDateFormat inputFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss+08:00");
  // 创建输出格式化器
  SimpleDateFormat outputFormatter = new SimpleDateFormat(outputFormat);
  // 将输入的时间字符串解析为Date对象
  Date date = inputFormatter.parse(inputTime);
  // 获取系统默认时区
  TimeZone timeZone = TimeZone.getDefault();
  // 设置输出格式化器的时区
  outputFormatter.setTimeZone(timeZone);
  // 将Date对象转换为指定格式的时间字符串
  return outputFormatter.format(date);
}

获取今天是周几

/**
 * 获取今天是周几
 *
 * @return int
*/
public static int getNowWeekNum() {
  Calendar calendar = Calendar.getInstance();
  return (calendar.get(Calendar.DAY_OF_WEEK) - 1) == 0 ? 7 : (calendar.get(Calendar.DAY_OF_WEEK) - 1);
}

判断传入日期是否是今天

public static boolean getIsToday(Date date) {
  DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss");
  LocalDateTime localTime = LocalDateTime.parse(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date), dtf);
  LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);
  LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);
  return localTime.isAfter(startTime) && localTime.isBefore(endTime);
}
相关文章
|
7月前
|
前端开发 JavaScript Java
Java中将图片转换为base64格式的技巧
这样,你就可以在Java中将图片转换为Base64格式了。这个方法的实现非常简单,只需要使用Java的内置库,无需任何额外的库。希望这个方法对你有所帮助。
470 22
|
JSON 前端开发 Java
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
文章介绍了Java后端如何使用Spring Boot框架响应不同格式的数据给前端,包括返回静态页面、数据、HTML代码片段、JSON对象、设置状态码和响应的Header。
578 2
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
|
12月前
|
Java
Java将OffsetDateTime格式化为 yyyy-MM-dd HH:mm:ss 如何写代码?
Java将OffsetDateTime格式化为 yyyy-MM-dd HH:mm:ss 如何写代码?
375 0
|
Java 编译器 开发者
Java演进问题之Truffle处理不同编程语言的源代码或中间格式如何解决
Java演进问题之Truffle处理不同编程语言的源代码或中间格式如何解决
122 2
|
Java 区块链
用Java将ico格式转 PNG/JPG等格式
用Java将ico格式转 PNG/JPG等格式
237 1
|
缓存 Java 数据处理
|
Java C语言
Java微信语音amr格式转mp3格式
Java微信语音amr格式转mp3格式
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
204 0
|
网络安全 流计算 Python
实时计算 Flink版操作报错合集之Flink sql-client 针对kafka的protobuf格式数据建表,报错:java.lang.ClassNotFoundException 如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
406 1
|
消息中间件 关系型数据库 网络安全
实时计算 Flink版操作报错合集之Flink sql-client 针对kafka的protobuf格式数据建表,报错:java.lang.ClassNotFoundException 如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
450 1
下一篇
oss云网关配置