如何在Java中将“HH:MM”格式字符串转换为Timestamp?

时间:2016-11-07 06:50:47

标签: java string date datetime timestamp

我有一个字符串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)。怎么做?

3 个答案:

答案 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());