System.currentTimeMillis()的问题

立青_ 中级 2021-03-23 02:30:39
使用时间给文件命名(截图或者日志文件),但我发现有时候文件的名字竟然是1970_01....,我怀疑System.currentTimeMillis()得到了0,那到底有没有可能System.currentTimeMillis()会得到0?
...全文
525 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
核桃980 2021-04-01
  • 打赏
  • 举报
回复
可能是server上哪个环节调用的时候把locale的参数搞没了
王半仙 2021-03-31
  • 打赏
  • 举报
回复
部分硬件在启动的时候 或奇奇怪怪的状态 System.currentTimeMillis() 这个方法获取的就是这个初始时间,一般来说用到时间的地方都是从自己的服务器获取时间来进行更新。
不会写代码的猴子 版主 2021-03-25
  • 打赏
  • 举报
回复
可以把Locale.getDefault()去掉试试
立青_ 中级 2021-03-24
  • 打赏
  • 举报
回复
引用 3 楼 le540850072 的回复:
偶现这个不好弄哦。要不贴个代码我们瞅瞅
        
        File log = getLogDir();
        String time = new SimpleDateFormat("yyyy_MM_dd_HH", Locale.getDefault()).format(new Date());
        String logPath = log.getAbsolutePath() + File.separator + time + ".log";
        LogInit.log = new File(logPath);
        FileAppender fileAppender = new FileAppender.Builder(context)
                .setLogFilePath(logPath)
le540850072 初级 2021-03-24
  • 打赏
  • 举报
回复
偶现这个不好弄哦。要不贴个代码我们瞅瞅
立青_ 中级 2021-03-23
  • 打赏
  • 举报
回复
就几行代码,时间字符串格式化输出,而且大部分时候是正常的,就偶尔就触发这情况。我自己也没法复现。
不会写代码的猴子 版主 2021-03-23
  • 打赏
  • 举报
回复
你先打印一下System.currentTimeMillis()的值呗,说不定是你转换名字的时候出的错呢

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧