java - 从 hh :mm:ss to hh:mm in java 转换时间

标签 java date formatting

我想将时间从 hh:mm:ss 转换为 hh:mm 它以 hh:mm:ss 的形式来自数据库(我的 sql)。 我尝试了以下代码,但没有得到我想要的。

 try {

        s= HibernateUtil.currentSession();
        tx=s.beginTransaction();
        Query query = s.createQuery("select from Dailytimesheet dailytimesheet where dailytimesheet.IdDailyTimeSheet=6083 " );         

             for(Iterator it=query.iterate();it.hasNext();)
             {                                                                           
                               if(it.hasNext())
                               {

                                   Dailytimesheet object=(Dailytimesheet)it.next();
                                   String dt=object.getTimeFrom().toString();
                                   SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");  
                                   long ms=0;
                            try {
                                ms = sdf.parse(dt).getTime();
                                } 
                            catch (ParseException e) {e.printStackTrace();}
                                Time ts = new Time(ms);


         out.println("<h2>"+ts+"</h2>");                       

感谢您的帮助。

最佳答案

您需要使用 DateFormat#format()java.util.Date 对象转换为表示所需格式的人类可读时间的 java.lang.String 对象.您不能在不丢失格式的情况下再次将其转换回 Date(或其任何子类,如 java.sql.Time 等)。该格式即不存储在 Date 中。 Date 只知道自纪元以来的毫秒数。

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
java.util.Date date = object.getTimeFrom();
String string = sdf.format(date);
System.out.println(string);

关于java - 从 hh :mm:ss to hh:mm in java 转换时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949699/

相关文章:

java - 反序列化后 HashMap 变慢 - 为什么?

java - 如何在运行时向 JXTable 添加新行?

sql-server - 循环遍历 SQL Server 中的日期范围

python - 将 Python 日期时间插入 DATE 类型的 Oracle 列

javascript - 在运行nodejs的服务器上调用new Date()时,日期返回服务器启动时的日期

ios - 消除数字中的多个小数点(快速)

colors - 表格中仅对一列进行颜色编码

Emoji 的 Python unicode 字符转换

java - 同一日期不同时长

java - 需要 Hibernate 中主键 @OneToOne 映射的示例