java - Sonar - 实例化 SimpleDateFormat 对象时,指定区域设置

标签 java sonarqube

下面是我以 yyyy-MM-dd 格式设置日期的方法,代码按预期工作,但出现 Sonar 错误 - 实例化 SimpleDateFormat 对象时,指定区域设置。有专家建议如何解决这个问题吗?

    public String getEndDate() throws ParseException {
        Calendar date = Calendar.getInstance();
        date.setTime(new Date());
        Format f = new SimpleDateFormat("yyyy-MM-dd");
        date.add(Calendar.YEAR,1);
        return f.format(date.getTime());
    }

最佳答案

您可以指定区域设置,如下例所示。

public static String getEndDate() {
    Calendar date = Calendar.getInstance();
    date.setTime(new Date());
    Format f = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); // Locale
    date.add(Calendar.YEAR,1);
    return f.format(date.getTime());
}

值得注意的是,如果省略区域设置,它将使用基于主机 JVM 的Locale.getDefault()。这可能是一个令人向往的功能。

关于java - Sonar - 实例化 SimpleDateFormat 对象时,指定区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53750974/

相关文章:

java - 避免在 If 条件中使用文字

java - Sonar 在哪里检查记录的 Api 配置

java - 在 Java 中使用 Vesa 视频模式

java - 如何使用 SAX 解析器从字符串中获取 from 子句的所有数据?

java - 自定义 XPath 规则来检查 Java 中的 catch 子句

java - 通过 Maven 命令行生成多种 Cobertura 报告格式

c# - Sonarqube v.4 TFS 任务 "Publish Analysis Result"抛出错误 "Could not fetch metrics"

java - 在目录中查找 Ant 构建文件

java - 有什么理由不将 invokevirtual 和 invokeinteface 字节码指令合二为一吗?

java - 合并两个重叠的图像