如何使用 java 将 12 小时制转换为 24 小时制

How to convert 12hr to 24hr using java

嗨,在我的 PostgreSQL 中使用不带时区的时间来保存特定时间 (19:36:17.376),在我的 Web 应用程序中使用 jQuery 日期选择器从客户端选择时间以 (12:30 PM) 格式按时间搜索的一侧。 如何将时间12:30 PM转换成这种格式(19:36:17.376)

我正在使用休眠进行搜索。 搜索 java 代码

String queryString = "from TicketBooking  t where t.isSale='true' ";    queryString = queryString
                    + " and t.time BETWEEN :stTime AND :edTime";  SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm");
             SimpleDateFormat parseFormat = new SimpleDateFormat("yyy-mm-dd hh:mm a");
               Date date1 = parseFormat.parse(fromTime);
               Date date2 = parseFormat.parse(toTime);
               System.out.println( displayFormat.format(date1)+"------------------"+displayFormat.format(date2));
                        query.setParameter("stTime", displayFormat.format(date1));          query.setParameter("edTime", displayFormat.format(date2));

您可以尝试使用 SimpleDateFormat 对象来转换时间格式。

final String time = "23:15";

try {

    final SimpleDateFormat sdf = new SimpleDateFormat("H:mm");

    final Date dateObj = sdf.parse(time);

    System.out.println(dateObj);

    System.out.println(new SimpleDateFormat("K:mm").format(dateObj));


} catch (final ParseException e) {

    e.printStackTrace();


}

这里下载linkhttp://developer.android.com/reference/java/text/SimpleDateFormat.html

12:30 PM 转换为 Date...

SimpleDateFormat inFormat = new SimpleDateFormat("hh:mm a");
Date date = inFormat.parse("12:30 PM");

Date转换为19:36:17.376格式...

SimpleDateFormat outFormat = new SimpleDateFormat("HH:mm:ss.SSS");
String out = outFormat.format(date);

现在,就我个人而言,我会保留 Date 原样并将其包装在 java.sql.Date 中并将其传递给数据库以供其处理...

java.sql.Date sqlDate = new java.sql.Date(date.getTime());

不用担心尝试将 Date 格式化为 String,但这就是我

查看 java.text.SimpleDateFormat 了解更多详情