Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
我想解析以下Dateformat
2015年4月26日17:00 CET
我使用了以下模式String
dd.MM.yyyy HH:mm z
我正在使用
我正在使用以下代码
有人可以告诉我我做错了吗?
顺便说一句,您的输入似乎不一致,因为您的日期是四月,但是“ CET”表示冬季时间(而欧盟EU已经切换到夏季时间)。我希望您的格式对象足够宽大。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
我想解析以下Dateformat
2015年4月26日17:00 CET
我使用了以下模式String
dd.MM.yyyy HH:mm z
我正在使用
java.text.SimpleDateFormat
。但是,当我尝试解析给定的String时,会收到一个ParseException
。我正在使用以下代码
String datestring = "26.04.2015 17:00 CET";
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy HH:mm z");
Date dt = format.parse(datestring)
有人可以告诉我我做错了吗?
最佳答案
Benjy Kessler的回答还可以(我赞成)。符号z用于解析时区名称和缩写,符号Z用于解析偏移量。
唯一仍然缺少的一点是语言环境。您必须将语言环境设置为英语,因为“ CET”是“欧洲中部时间”的英文缩写。在德语中,它将是“ MEZ”。
所以请尝试表达
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm z", Locale.ENGLISH);
顺便说一句,您的输入似乎不一致,因为您的日期是四月,但是“ CET”表示冬季时间(而欧盟EU已经切换到夏季时间)。我希望您的格式对象足够宽大。
09-04 20:59