gpt4 book ai didi

java - 新的 Date() 对象给出相同的值

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:47 24 4
gpt4 key购买 nike

我有一些代码利用 Date 对象作为文件名,以便每次都有不同的文件名,但奇怪的是新的 Date 对象发出相同的 toString() 对于每个循环迭代。我的意思是,以下内容:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String fileName = sdf.format((d = new Date())) + ".jpg";

Log.d("Date", d.toString());

循环执行。

旁注:因为这与 Java API 有关,所以我没有将问题标记为 Android 问题,但执行此代码的操作系统是 Android。

据我所知,new Date() 使用 System.currentTimeMilis() 作为初始值,这种异常行为的原因可能是什么?

最佳答案

您将时间格式化为 yyyyMMdd_HHmmss,但循环的运行只需要几毫秒,因此请使用 yyyyMMdd_HHmmssSSS 以获得更准确的时间。

正如 Jon Skeet 在他的评论中提到的,一个循环的运行时间甚至可能不到一毫秒(取决于您执行的任务),因此您也可能会遇到此解决方案的问题!

关于java - 新的 Date() 对象给出相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47407103/

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