【问题标题】:getYesterdayDate_yyyy_MM_dd() this method with return type java.sql.dategetYesterdayDate_yyyy_MM_dd() 这个方法返回类型为 java.sql.date
【发布时间】:2019-10-13 14:27:30
【问题描述】:

我想创建一个方法 java.sql.Date getYesterdayDate_yyyy_MM_dd() 使用 java 8 获取昨天的日期并对其进行格式化,然后将其转换为字符串 如何在 sql 日期中转换字符串我尝试 date.valuof 抛出异常

【问题讨论】:

  • 请正确发布您的问题,因为它根本无法理解!
  • 为什么要将字符串转换为日期,然后再将日期转换为字符串?您可以使用日期格式化工具类:docs.oracle.com/javase/8/docs/api/java/time/format/…
  • `欢迎来到 Stackoverflow,请阅读How To Ask。特别关注How To Create MCVE。确保使用适当的标签(编程语言、相关技术等)标记您的问题。您在发布一个好问题上付出的努力越多:一个易于阅读、理解并且是 on topic 的问题 - 它吸引相关人员的机会就越高,您会更快地获得帮助。祝你好运!
  • 你不能。 java.sql.Date 没有,因为不能有格式。此外,该课程是一个古老的黑客尝试(不是很成功)将java.util.Date 伪装成没有时间的日期。如果有任何方法可以避免,请不要使用该类。使用来自java.time, the modern Java date and time APILocalDate
  • 我不谦虚地推荐my own answer here。我在底部附近对待java.sql.Date

标签: java


【解决方案1】:
LocalDateTime yesterday = LocalDateTime.now().minusDays(1);

  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");               
  String formattedDate = yesterday.format(formatter); 

  System.out.println("formattedDate="+formattedDate);

  // formattedDate=27-05-2019 11:58:35

【讨论】:

  • 格式化后它被转换成字符串,我希望这个格式化日期在 java.sql.date 类型中解析后给出异常
  • 我的控制台异常在这里-线程“main”中的异常 java.text.ParseException: Unparseable date: "2019-05-27" at java.text.DateFormat.parse(Unknown Source) at com .wtmit.crmws.util.CRMWSDateTimeUtil.getYesterdayDate_yyyy_MM_dd(CRMWSDateTimeUtil.java:74) at com.wtmit.crmws.util.CRMWSDateTimeUtil.main(CRMWSDateTimeUtil.java:47)
  • java.sql.Date SQL= new java.sql.Date(yesterday.atZone(ZoneId.systemDefault()).toInstant() .toEpochMilli());
  • 它正在工作,但我希望格式化程序也采用 yyyy_MM_dd 格式
猜你喜欢
  • 1970-01-01
  • 2015-07-18
  • 2013-02-23
  • 2013-04-26
  • 1970-01-01
  • 2018-10-19
  • 2021-10-15
相关资源
最近更新 更多