您当前正在使用SimpleDateFormat(String)构造函数。这暗示了默认语言环境,并且正如语言环境文档告诉您的那样,请警惕默认语言环境,因为可能在各种系统上产生意外的输出。
您应该改用SimpleDateFormat(String,Locale)构造函数。它将接受一个附加参数-
您要使用的语言环境。如果要确保输出以一致的方式是机器可读的(无论用户的实际语言环境如何,总是看起来相同),则可以选择Locale.US。如果您不关心计算机的可复制性,则可以将其显式设置为使用Locale.getDefault()。
在示例代码中使用这些代码将如下所示:
// for USSimpleDateFormat sdfDate = new SimpleDateFormat("d MMM yyyy", Locale.US);// or for defaultSimpleDateFormat sdfDate = new SimpleDateFormat("d MMM yyyy", Locale.getDefault());


