我有一些代码利用Date对象作为文件的名称,以便每次都有不同的文件名,但奇怪的是新的Date对象toString()
为每个循环迭代发出相同的内容.我的意思是,以下内容:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String fileName = sdf.format((d = new Date())) + ".jpg";
Log.d("Date", d.toString());
Run Code Online (Sandbox Code Playgroud)
在循环中执行.
旁注:由于这与Java API有关,我没有将问题标记为Android的问题,但执行此代码的操作系统是Android.
据我所知,new Date()
使用System.currentTimeMilis()
的初始化值,可能是什么原因,这种不寻常的行为?
您将时间格式化为yyyyMMdd_HHmmss
,但循环运行只需几毫秒,因此请使用yyyyMMdd_HHmmssSSS
更精确的时间.
正如Jon Skeet在他的评论中提到的,循环的运行甚至可能不到一毫秒(取决于你执行的任务),所以你也可能遇到这个问题的问题!
归档时间: |
|
查看次数: |
359 次 |
最近记录: |