将字符串类型转换为日期解析不起作用

时间:2015-11-26 10:24:42

标签: java

我正在将字符串类型转换为日期并将其解析为HH:mm格式,但在格式化其不工作的抛出异常时,campusconfig.getworktime()是日期以下是我的代码

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
            if ((from1 != null)) {
                if(campusConfig.getWorkFromTime()!=null){
                String time = "";
                Date timech;
                time = campusConfig.getWorkFromTime().toString();
                timech = dateFormat.parse(time);

                if(from1.before(timech)){
                    String errormsg = message.getString("message.reports.time.select.campustime");
                    errorMessageUI(errormsg);
                }

3 个答案:

答案 0 :(得分:0)

如果campusConfig包含完整日期(日期和时间),您需要使用SimpleDateFormat解析它(" yyyy-MM-dd HH:mm:ss.SSSSSS")(格式正确)然后你只能使用其他SimpleDateFormat(" HH:mm")格式(日期)来转换日期。

示例:

public class DateFormat {

    public static void main(String[] args) throws ParseException {
        String campusConfig = "2015-11-26 11:46:20";
        SimpleDateFormat sdf_in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d = sdf_in.parse(campusConfig);

        SimpleDateFormat sdf_out = new SimpleDateFormat("HH:mm");
        System.out.println("Only Time : " + sdf_out.format(d));
    }
}

答案 1 :(得分:0)

尝试下面的内容,

new SimpleDateFormat("HH:mm").format(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(campusConfig.getWorkFromTime().toString()));

答案 2 :(得分:-2)

试试这个

java.util.Date temp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").parse("2012-07-10 14:58:00.000000");