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);
}
相关文章
|
5天前
|
存储 Java 索引
Java的基本语法格式详解
Java的基本语法格式详解
10 0
|
16天前
|
网络安全 流计算 Python
实时计算 Flink版操作报错合集之Flink sql-client 针对kafka的protobuf格式数据建表,报错:java.lang.ClassNotFoundException 如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
21 1
|
18天前
|
消息中间件 关系型数据库 网络安全
实时计算 Flink版操作报错合集之Flink sql-client 针对kafka的protobuf格式数据建表,报错:java.lang.ClassNotFoundException 如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
20天前
|
Java 编译器 程序员
Java基础语法之基本语法格式
本文主要复习了Java的基础语法,包括类的定义、方法、主方法、注释和关键字等内容,旨在帮助读者巩固Java学习中的重要概念。
|
20天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
8月前
|
JSON Java 数据格式
java校验json的格式是否符合要求
java校验json的格式是否符合要求 在日常开发过程中,会有这样的需求,校验某个json是否是我们想要的数据格式,json-schema-validator使用
404 0
|
8月前
|
Java
【Java用法】使用Java编写一个日历格式的方法
【Java用法】使用Java编写一个日历格式的方法
35 0
|
20天前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
156 0
|
9月前
|
JSON Java 数据格式
Java将json中key值下划线转为驼峰格式
Java将json中key值下划线转为驼峰格式
394 1
|
20天前
|
前端开发 Java
JAVA将秒数转变成H:mm:ss格式
JAVA将秒数转变成H:mm:ss格式
31 0