当前位置: 首页 > wzjs >正文

动漫网站 设计个人网页设计与实现论文

动漫网站 设计,个人网页设计与实现论文,it外包名词解释,青岛红岛做网站在Java中处理字符数组表示的TransactionTime(例如["2025-06-01","2025-06-10"]),将其转换为开始时间和结束时间,推荐使用Java 8的java.time API(如LocalDate)。以下是完整代码示例&…

在Java中处理字符数组表示的TransactionTime(例如["2025-06-01","2025-06-10"]),将其转换为开始时间和结束时间,推荐使用Java 8+的java.time API(如LocalDate)。以下是完整代码示例:

解决方案代码

java

复制

下载

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;public class TransactionTimeParser {public static void main(String[] args) {// 示例输入数据String[] transactionTime = {"2025-06-01", "2025-06-10"};try {// 1. 解析开始时间LocalDate startDate = parseDate(transactionTime[0]);// 2. 解析结束时间LocalDate endDate = parseDate(transactionTime[1]);// 3. 输出结果(或进行后续业务操作)System.out.println("开始时间: " + startDate);System.out.println("结束时间: " + endDate);// 示例:计算时间跨度long daysBetween = java.time.temporal.ChronoUnit.DAYS.between(startDate, endDate);System.out.println("时间跨度: " + daysBetween + " 天");} catch (DateTimeParseException e) {System.err.println("日期格式错误: " + e.getMessage());} catch (ArrayIndexOutOfBoundsException e) {System.err.println("数组长度不足: 需要2个日期元素");}}private static LocalDate parseDate(String dateStr) throws DateTimeParseException {DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");return LocalDate.parse(dateStr, formatter);}
}

关键步骤解析:

  1. 数据验证

    • 确保数组长度至少为2(避免ArrayIndexOutOfBoundsException)。

    • 检查日期格式是否符合yyyy-MM-dd(如2025-06-01)。

  2. 日期解析

    • 使用DateTimeFormatter定义格式("yyyy-MM-dd")。

    • 通过LocalDate.parse()将字符串转换为LocalDate对象。

  3. 异常处理

    • DateTimeParseException:日期格式无效时抛出(如2025/06/01)。

    • ArrayIndexOutOfBoundsException:数组元素不足时抛出。

  4. 后续操作

    • 可直接使用LocalDate对象进行日期计算(如计算时间跨度、日期比较等)。

执行结果:

text

复制

下载

开始时间: 2025-06-01
结束时间: 2025-06-10
时间跨度: 9 天

注意事项:

  1. 时区问题
    LocalDate不包含时区信息,如需时区支持请改用ZonedDateTime

  2. 空值检查
    实际业务中应增加对transactionTimenull或空数组的判断。

  3. 日期逻辑
    如果结束时间早于开始时间,需根据业务需求处理(如抛出异常或交换值)。

推荐使用LocalDate的优势:

  • 不可变且线程安全

  • 提供丰富的日期计算方法(如plusDays()isBefore()等)

  • 避免遗留DateCalendar类的设计缺陷

转换为 LocalDateTime

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;public class TransactionTimeParser {public static void main(String[] args) {// 示例输入数据String[] transactionTime = {"2025-06-01", "2025-06-10"};try {// 1. 解析开始时间(转换为当天的00:00:00)LocalDateTime startDateTime = parseStartDateTime(transactionTime[0]);// 2. 解析结束时间(转换为当天的23:59:59.999999999)LocalDateTime endDateTime = parseEndDateTime(transactionTime[1]);// 3. 输出结果System.out.println("开始时间: " + startDateTime);System.out.println("结束时间: " + endDateTime);// 示例:计算时间跨度(以天为单位)long daysBetween = java.time.temporal.ChronoUnit.DAYS.between(startDateTime.toLocalDate(), endDateTime.toLocalDate());System.out.println("时间跨度: " + daysBetween + " 天");} catch (DateTimeParseException e) {System.err.println("日期格式错误: " + e.getMessage());} catch (ArrayIndexOutOfBoundsException e) {System.err.println("数组长度不足: 需要2个日期元素");}}// 解析为开始时间(当天的00:00:00)private static LocalDateTime parseStartDateTime(String dateStr) {DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");LocalDate date = LocalDate.parse(dateStr, formatter);return date.atStartOfDay(); // 转换为当天的开始时间}// 解析为结束时间(当天的最后一刻)private static LocalDateTime parseEndDateTime(String dateStr) {DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");LocalDate date = LocalDate.parse(dateStr, formatter);return date.atTime(LocalTime.MAX); // 23:59:59.999999999}
}

 

    // 查询试剂交易(入库/出库)记录@Overridepublic List<BranchWarehouseTransactions> queryForReagent(BranchWarehouseTransactionsQueryDTO queryDTO) {if ((queryDTO.getTransactionTime() == null || queryDTO.getTransactionTime().isEmpty()) &&queryDTO.getTransactionType() == null &&(queryDTO.getMaterialName() == null || queryDTO.getMaterialName().isEmpty())) {throw new RuntimeException("请输入查询条件!");}// 处理字符日期数组,数据格式为:["2025-06-01","2025-06-10"],需处理为 LocalDateTime 格式的开始时间和结束时间// 日期格式器DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");// 1. 解析开始时间String beginDateStr = null;LocalDateTime beginDateTime = null;if (queryDTO.getTransactionTime() != null && queryDTO.getTransactionTime().size() == 2) {beginDateStr = queryDTO.getTransactionTime().get(0);}if (beginDateStr != null && !beginDateStr.isEmpty()) {// 字符串 转 日期LocalDate startDate = LocalDate.parse(beginDateStr, formatter);// 日期 转 日期时间(当天的 00:00:00)beginDateTime = startDate.atStartOfDay();}queryDTO.setTransactionTimeBegin(beginDateTime);// 2. 解析结束时间String endDateStr = null;LocalDateTime endDateTime = null;if (queryDTO.getTransactionTime() != null && queryDTO.getTransactionTime().size() == 2) {endDateStr = queryDTO.getTransactionTime().get(1);}if (endDateStr != null && !endDateStr.isEmpty()) {// 字符串 转 日期LocalDate endDate = LocalDate.parse(endDateStr, formatter);// 日期 转 日期时间(当天的 23:59:59.999999999)endDateTime = endDate.atTime(LocalTime.MAX);}queryDTO.setTransactionTimeEnd(endDateTime);// 检查日期逻辑关系if (beginDateTime != null && beginDateTime.isAfter(endDateTime)) {throw new IllegalArgumentException("开始时间不能晚于结束时间!");}return branchWarehouseMapper.selectForReagent(queryDTO);}


文章转载自:

http://ERwqk9Ve.zqcdL.cn
http://p7IXDtTi.zqcdL.cn
http://XCxJArvq.zqcdL.cn
http://68DTk2FU.zqcdL.cn
http://gOb7AE18.zqcdL.cn
http://xDAzLIre.zqcdL.cn
http://CsNRqHV2.zqcdL.cn
http://MC3hX12Y.zqcdL.cn
http://UpSOWujp.zqcdL.cn
http://FzjWKjvK.zqcdL.cn
http://f9yXbIAb.zqcdL.cn
http://fwbCfN8v.zqcdL.cn
http://HrlAtDw6.zqcdL.cn
http://bvNUX7fS.zqcdL.cn
http://p8HcLXOc.zqcdL.cn
http://GXEPmNeJ.zqcdL.cn
http://qQQuYj1E.zqcdL.cn
http://AGNWZMAb.zqcdL.cn
http://R3rDvR9g.zqcdL.cn
http://U9qbP14e.zqcdL.cn
http://1vkzZ4Nt.zqcdL.cn
http://hLhY1bSa.zqcdL.cn
http://StAHCkpa.zqcdL.cn
http://Qa2IbSGZ.zqcdL.cn
http://eUHtHay7.zqcdL.cn
http://LpqjqDEA.zqcdL.cn
http://NvEqXQ90.zqcdL.cn
http://tVBcjK1a.zqcdL.cn
http://yHrVqtH4.zqcdL.cn
http://T6IXa05D.zqcdL.cn
http://www.dtcms.com/wzjs/611190.html

相关文章:

  • 本地唐山网站建设ppt下载网站哪个好
  • 广西网站建设性价比高138企业邮箱登录
  • 网站缓存设置怎么做网站建设所需服务器费用
  • 每一个网站都要后台吗有经验的邵阳网站建设
  • 微信公众号开通流程宁波seo托管公司
  • 江西网站开发科技公司网络诚信 网站应怎么做
  • 网站建设公司美工如何找数据查询插件 wordpress
  • 网站建设煊煊网ai时代模版价格
  • 网络推广服务商产品介绍网站推广seo优化
  • 粉色帝国网站网站内容页模板
  • 学校网站模板 dedecms做钢铁资讯的网站
  • 桂阳城乡建设局网站怎么在凡科上做网站
  • 网站需求建设书seo排名优化关键词
  • 优化核心系列网站一些做系统的网站
  • wordpress网站 添加微信支付企业做网站建设的好处
  • 如何给网站做防御智慧软文网站
  • wordpress下载站主题网站设计岗位的职责与要求
  • 精品无人区高清不用下载seo在线教程
  • 网站建设应用后台网站建设 开票税率
  • vue快速搭建网站淮安 做网站 app
  • 沈阳网站建设方案外包网站制作需求表
  • 烟台网站制作山海云赚钱的软件
  • 宁夏免费做网站wordpress widgetkit
  • c2c商城网站建设方案西安网页制作工作室
  • 用react和ant.d做的网站例子文联网站建设方案
  • 免费建站自己做个网站好还是做别人会员好
  • 沈阳火车站中国建设门户网站
  • 建设施工合同备案在哪个网站网站的运营管理方案
  • 呼和浩特网站运营wordpress的asp版
  • 厦门建设局网站网站总是在建设中