gpt4 book ai didi

java - Android SimpleDateFormat.format 给出错误的数字量,例如 Minute "0040"随机

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

<分区>

我有一个适用于 Android 的应用程序,它具有自定义的日志格式,我在前面加上日期以便更好地搜索。目前我正在使用 SimpleDateFormat,但结果不一致。

这种不一致的几个例子,它给我:

2018/10/11 10:40:21.229 ____Verbose:
2018/0010/0011 0010:40:21.230 ____Verbose:
2018/10/11 10:40:21.232 ____Verbose:
...
2018/10/11 10:40:42.784 ____Verbose:
2018/10/11 010:040:042.786 ____Verbose:
2018/10/11 10:40:42.786 ____Verbose:

我使用的代码是:

private static final DateFormat LOGDATEFULL = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
private static String strErrorLevel(int errorLevel){
if (errorLevel == VERBOSE ) return " ____ VERBOSE: ";
if (errorLevel == DEBUG ) return " ____ DEBUG : ";
if (errorLevel == INFO ) return " _.._ INFO : ";
if (errorLevel == WARN ) return " _--_ WARN : ";
if (errorLevel == ERROR ) return " _!!_ ERROR : ";
if (errorLevel == ANALYTICS) return " _++_ ANALYTC: ";
return " _**_ ASSERT : ";
}
public static void customLog(String message, int level){
Date currDate = Calendar.getInstance().getTime();
Log.d(LOGDATEFULL.format(currDate) + " " + strErrorLevel(level) + message);
}

我的系统语言环境是巴西葡萄牙语 (pt-BR),从主线程调用和从其他线程调用时都会发生这种情况。

除了创建一个函数来手动制作字符串之外,还有其他解决方案吗?

顺便说一句,它甚至发生在为“Output_2018-010-11.txt”等文件生成名称时。

回答: 确实是Tom Glelloman指出,在我使用 SimpleDateFormat 的所有地方,这是我唯一拥有的地方,它可能一次被多个线程访问。我选择 Tom G 答案是为了在现有代码中实现的实用性。

谢谢

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