gpt4 book ai didi

java SimpleDateFormat 返回 Windows 上的部分时间

转载 作者:行者123 更新时间:2023-12-01 19:55:11 25 4
gpt4 key购买 nike

我正在尝试获取当前时间并将其附加到我生成的文件的名称中。

代码片段:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern(app.values.getProperty("yyyy-MM-dd"));
LocalDateTime now = LocalDateTime.now();
String date = dtf.format(now);
Date today = Calendar.getInstance().getTime();
SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm");
String time = timeFormat.format(today);
FileOutputStream fs = new FileOutputStream("receipt/Receipt_" + date + "_"+time+".pdf");

这在 Linux 上运行良好(返回“Receipt_2018-04-18_11:13”作为文件名),但是当我在 Windows 7 上运行 jar 时,它只给出

Receipt_2018-04-18_11

并且生成的文件已损坏且为空。我该如何解决这个问题?

最佳答案

问题是“:”对于 Windows 操作系统上的文件名来说是不正确的字符,因此需要替换它。基本上你的代码太多了,你不需要 Calendar 因为 LocalDateTime 已经有时间戳部分。

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd_hh_mm");
LocalDateTime now = LocalDateTime.now();
String dateTime = dtf.format(now);
FileOutputStream fs = new FileOutputStream("receipt/Receipt_" + dateTime + ".pdf");

希望对你有帮助!

关于java SimpleDateFormat 返回 Windows 上的部分时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49892273/

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