我有一个使用SimpleDateFormat
来解析日期的应用程序。我突然想要将计算机的显示时间格式改为中文格式,然后将其留在那里做其他事情。
几分钟后,当我回去运行我的应用程序时,出于某种原因我收到了“Unparseable date”错误。这从未发生过;我从未介绍任何新代码,所以我想知道出了什么问题。
然后我跟踪了我的动作并记得我改变了时间显示的格式,所以我把它改回来了,应用程序像往常一样运行。现在,查看文档,我发现该库对语言环境敏感。幸运的是,此应用程序仅供个人使用,我可以完全控制计算机的设置。但是,如果我要部署一个公共消费应用程序,我无法控制他们的环境,所以如果我的客户端没有使用美国时间格式,他们就会不高兴。
SimpleDateFormat
吗?答案 0 :(得分:1)
问题是格式解析取决于区域设置。为了安全起见,您必须在创建SimpleDateFormat
的实例时显式发送预期的语言环境。否则,您的defult系统区域设置可能会令人困惑。
这发生在你的情况下。你的程序运作良好。然后你改变了“你的计算机的时间格式”,这改变了你的语言环境。然后你的程序停止工作。