gpt4 book ai didi

java - 每次运行程序时将java日期和时间存储到记录中

转载 作者:行者123 更新时间:2023-11-30 06:39:40 24 4
gpt4 key购买 nike

我正在尝试构建一个 Java 应用程序,作为该应用程序的一部分,我想记下事件发生的日期和时间。我当前使用的代码如下所示:

public static void main(String[] args){
List<String> list=new LinkedList<>();
DateTimeFormatter formatter=DateTimeFormatter.ofPattern("MM-dd-yyyy HH:mm:ss");
LocalDateTime now=LocalDateTime.now();
String formatDateTime=now.format(formatter);
list.add(formatDateTime);
System.out.println(list);
System.out.println(formatDateTime);


}

该程序的输出现在看起来像这样:

[2017年6月16日20:35:51]2017-06-16 20:35:51

然而,这并不是我所期待的。我想存储已记录的日期和时间,但每次运行此代码的输出都会有所不同。有什么方法可以在每次程序运行时单独存储日期和时间。为了让问题更清楚一些,如果我最初在 20:35:51 运行程序,我希望存储这个时间。如果我在 20:36:52 运行它,我仍然希望第一次在我的记录中可用。请帮我解决这个问题。谢谢。

最佳答案

您必须将日期存储在某个地方,否则当您的程序结束时,变量(以及您的日期列表)将从内存中释放并丢失。

也许写入 .txt 或 .csv 文件?网上有很多关于如何执行此操作的指南。然后,您可以编写一个方法来从文件中读取所有日期,以便您记录“事件”发生/程序运行的时间。

编辑:我喜欢 Vasyl 的答案,文件资源管理器很好,但有点过头了,我认为在这种情况下,您不关心每次事件发生/程序运行时指定要写入哪个文件,您只想将其吐出到文本中文件。

这是我的建议:

public static void main(String[] args) {

List<String> list = new LinkedList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM-dd-yyyy HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
String formatDateTime = now.format(formatter);
list.add(formatDateTime);
System.out.println(list);
System.out.println(formatDateTime);

String recordPath = "Records.txt";
BufferedWriter writer;
FileWriter fw;

try{
fw = new FileWriter(recordPath, true);
writer = new BufferedWriter(fw);

for(String str : list){
writer.write(str);
writer.newLine();
writer.flush();
}

System.out.println("Done writing!");

writer.close();
fw.close();


} catch (IOException e) {
e.printStackTrace();
}
}

我宁愿将 .close() 放在 finally block 中,但由于我们在 main 中工作,所以这是不可能的。理想情况下将其放在自己的类和方法中。

.txt 文件中的输出(运行树时间后):

06-17-2017 03:38:25
06-17-2017 03:39:52
06-17-2017 03:40:06

关于java - 每次运行程序时将java日期和时间存储到记录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44600049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com