我需要将字符串(以日期格式)转换为时间戳。
一开始我是这样做的。
private Timestamp dateConverter(String date) {
Timestamp timestamp = null;
SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMM yyyy HH:mm");
Date parsedDate = null;
try {
parsedDate = dateFormat.parse(date);
timestamp = new java.sql.Timestamp(parsedDate.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
return timestamp;
}
我试着用另一种方法:
private Timestamp dateConverter(String date) {
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm");
LocalDateTime ldt = LocalDateTime.parse(date , f);
return Timestamp.valueOf(ldt);
}
此时,我出现DateTimeParseException的内部服务器错误:无法在索引3
处分析文本“16 Jan 2020 11:02”
您的模式无法知道您所在月份的语言是什么,英语、法语、阿拉伯语、俄语、普通话……要解决这个问题,您必须使用locale
来帮助格式化程序,如下所示:
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm")
.withLocale(new Locale("us"));
LocalDateTime ldt = LocalDateTime.parse("16 Jan 2020 11:02" , f); // 2020-01-16T11:02
我尝试将字符串转换为日期。
例如,我得到了这个日期字符串: 看起来Android无法解析某些时区。感谢@Burhanuddin Rashid的这种方法。 此处的解决方案:不可更改的日期:“IST 2014年星期五10月10日23:11:07”(偏移量20)
问题内容: 我正在尝试用正斜杠替换连字符,但结果是 我具有要转换的必要值,有人可以告诉我为什么它返回错误吗?另外,我想在格式的末尾附加一个,可以吗? 问题答案: 您需要先解析为正确的格式作为输入 然后您可以使用format()以其他格式打印它 并且不要期望类的方法返回格式化值,这是固定的实现
问题内容: 尝试转换日期格式时,出现一个异常:日期不可解析,并且不知道如何解决此问题。 我收到一个表示事件日期的字符串,并希望在GUI中以其他格式显示该日期。 我试图做的是以下几点: 不管怎么说 是假的。我想要以下格式的日期字符串: dd.MM.yyyy HH:mm:ss 输入的String示例如下: 2010-01-04 01:32:27 UTC 有谁知道如何将上面的示例日期(字符串)转换为字符
问题内容: 我正在尝试使用解析日期时间字符串,但我一直收到不可解析的日期异常。 这是我尝试解析的日期格式: 这是我正在使用的代码: 返回此错误: 据我所知,这是使用SimpleDateFormat类的正确方法,但是我不精通Java,所以我可能会弄错。有人知道我的问题是什么吗? 问题答案: 时区应为GMT-08:00或-0800(如Madcore Tom所说)。请参阅Java文档。 在Java 7中
当我试图解析发送到android客户端的日期字符串时,我得到了一个不可解析的日期。 这是个例外: