【问题标题】:Get date and time input from text从文本中获取日期和时间输入
【发布时间】:2016-06-14 07:42:59
【问题描述】:

所以,我搜索了一段时间,但没有找到答案。这就是我在这里问的原因。我的问题是这样的: 使用 Swing,我制作了一个应用程序,该应用程序将从 JTextArea 获取文本,然后将其保存在 .txt 文档中。它还将保存另外 2 个文件(也作为 .txt 文件)。一种是日期(即 2016.03.05),另一种是时间(即 09:50 AM)。我需要将日期和时间与系统日期和时间进行比较,并检查它们是否匹配。我只需要一种方法来准确地做到这一点,因为它们存储为字符串,将它们与系统日期和时间进行比较的好方法是什么。 我觉得应该是这样的:

if(date in date file is equal to system date) {/do stuff}

我不会寻找用勺子喂食的方法,但我需要有一个好的和有效的方法来做到这一点。

【问题讨论】:

  • 欢迎来到 Stack Overflow :-) 请查看 how to askHow to create a Minimal, Complete, and Verifiable example。这将有助于获得有用的答案。
  • 为什么有文件?为什么需要 3 个文件?您的日期和时间文件是什么类型的文件。你知道如何获取系统的当前时间吗?
  • 我决定将用户输入的数据存储在不同的文件中。其中之一是 JTextArea 文本。在其他情况下,会有日期,在第 3 次会有时间。它们都是 .txt 文件。 System.getCurrentTimeMilis();应该为我工作,还是应该?
  • Instant.now() 怎么样。此外,您应该尝试让您的示例包含真实代码。您在读取/写入文件时遇到问题吗?您是否在从 Swing GUI 获取值时遇到问题?如果不是,则省略摆动部分并过去一些您用来比较日期/时间的实际代码。

标签: java string date


【解决方案1】:

让我们假设 op 已经从文件中读取了日期/时间字符串。

String date = "2016.03.05";
String time = "09:50 AM";

我们想将其与“系统时间”进行比较,那么怎么样。

LocalDateTime now = LocalDateTime.now();

现在我们有了一个日期和时间,我们想将它与文件中的值进行比较。一种方法是从日期字符串创建一个 LocalDate 对象。

DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
LocalDate localDate = LocalDate.parse(date, dateFormatter);    
if(now.toLocaleDate().equals(localDate)){
    //date is equal so now what?
}

我们可以在当地时间做同样的事情。

DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("h:m a");
LocalTime localTime = LocalTime.parse(time, timeFormatter);
if(now.toLocalTime().equals(localTime)){
   //do stuff if the time is equal (which it will rarely be)
}

【讨论】:

    【解决方案2】:

    如果您使用的是 java 8,那么有一篇非常好的文章介绍了如何将字符串解析为日期。将 String 解析为类 LocalDateTime 后,您就可以运行:

    if(LocalDateTime.now().equals(yourTime)) {
      //your code
    }
    

    看看它们是否匹配。 请在此处阅读有关 java.time 包的信息https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html

    还有一篇关于迄今为止字符串解析的文章:https://www.linkedin.com/pulse/java-8-javatime-package-parsing-any-string-date-michael-gantman?trk=pulse_spock-articles

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 2019-02-04
      • 1970-01-01
      相关资源
      最近更新 更多