【问题标题】:Convert plain string to time [duplicate]将纯字符串转换为时间[重复]
【发布时间】:2013-07-25 14:55:40
【问题描述】:

我有一个字符串值,我需要将其转换为时间并将其保存在 MySQL 中。[该列的数据类型是数据库表中的时间] 我可能会遇到转换为时间对象的字符串值的示例是:

字符串时间 = "5:32 PM";

字符串时间 = "12:00 AM";

字符串时间 = "11:43 PM";

我浏览了一些从 Date 对象中提取时间的示例,但找不到合适的示例,例如在本例中将其从纯字符串转换。我需要将其转换为时间的主要原因是将其保存在mysql中。

【问题讨论】:

    标签: java string date time


    【解决方案1】:

    您可以将其转换为java.sql.Date

    String str = "5:32 PM";
    DateFormat formatter = new SimpleDateFormat("hh:mm a");
    java.util.Date date = (java.util.Date)formatter.parse(str);
    java.sql.Date sqlDate = new java.sql.Date(date.getTime());
    

    如果你需要java.sql.Time,那么:

    java.sql.Time time = new java.sql.Time(date.getTime());
    

    然后使用PreparedStatement#setTime()

    【讨论】:

    • java.sql.Date 不存储时间,您应该使用java.sql.Timejava.sql.Timestamp。尽管如此,最好还是使用普通的java.util.Date,因为java.sql 包中的这三个类都是从它扩展而来的。
    • @LuiggiMendoza 请将其添加到答案中,这是有价值的评论:)
    • 太棒了!感谢您的帮助!
    猜你喜欢
    • 2021-05-12
    • 2020-03-03
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 2018-09-07
    • 2016-07-30
    • 2019-10-29
    相关资源
    最近更新 更多