我有一个字符串09:28.
,我想将此字符串转换为Timestamp
对象。
以下是我的编码:
Object d = getMappedObjectValue(reportBeamDataMap, ReportBeamConstant.DAT_STOPDATE);
Date stopDate1 = (Date)d;
SimpleDateFormat printFormat = new SimpleDateFormat("hh:mm");
String timeString = printFormat.format(stopDate1);
现在我想要String
作为Timestamp
(仅限HH:MM)。怎么做?
答案 0 :(得分:2)
请使用parse方法获取Date Object,然后构造Timestamp对象。
try {
Timestamp timestamp = new Timestamp(printFormat.parse(timeString).getTime());
} catch (ParseException e) {
e.printStackTrace();
}
答案 1 :(得分:1)
您可以使用LocalTime存储时间(来自字符串,反之亦然),如下所示:
选项(1):使用Java8
您可以使用Java8的LocalTime API,您可以查看here
String timeString = printFormat.format(stopDate1);
//Get your localTime object from timeString
LocalTime localTime = LocalTime.parse(timeString);
static LocalTime parse(CharSequence text)获取的实例 来自文本字符串的LocalTime,例如10:15。
选项(2):没有Java8
您需要使用jodatime库API,您可以查看here
答案 2 :(得分:1)
时间戳格式必须为yyyy-mm-dd hh:mm:ss [.fffffffff]
您可以通过
直接将日期对象转换为时间戳 Timestamp timestamp = new Timestamp(stopDate1.getTime());