欢迎光临
我们一直在努力

Android 提示信息:To get local formatting use getDateInstance(), getDateTimeInstance()...

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());

  • 在 Android 开发中,上述代码出现如下的警告信息

To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale. US for ASCII dates

# 解读

要获取本地化的日期格式,可使用 getDateInstance()、getDateTimeInstance() 或 getTimeInstance() 方法
或者使用 new SimpleDateFormat(String template, Locale locale) 并指定 Locale 参数
例如,Locale.US 用于生成 ASCII 风格的日期格式

问题原因
  • 这个警告信息表示代码中没有显式指定 Locale,SimpleDateFormat 会使用系统默认的区域设置

  • 在此情况下,应用程序运行在一些环境中,输出的格式可能会包含非 ASCII 字符

  • 荐使用 Locale 敏感的工厂方法或指定 Locale 的 SimpleDateFormat 构造方法

  • 特别说明了使用 Locale.US 可确保输出 ASCII 字符集的日期格式

  • 处理策略
  • 指定 Locale,例如,Locale.US
  • String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date());

  • 如果并不关心,可以使用 Locale.getDefault()
  • String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());

  • 使用 Locale 敏感的工厂方法,例如,getDateTimeInstance 方法
  • String timeStamp = SimpleDateFormat.getDateTimeInstance().format(new Date());

    赞(0)
    未经允许不得转载:171主机测评 » Android 提示信息:To get local formatting use getDateInstance(), getDateTimeInstance()...
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址