Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将时间从hh:mm:ss转换为hh:mm_Java_Date_Formatting - Fatal编程技术网

在java中将时间从hh:mm:ss转换为hh:mm

在java中将时间从hh:mm:ss转换为hh:mm,java,date,formatting,Java,Date,Formatting,我想将时间从hh:mm:ss转换为hh:mm 它以hh:mm:ss的形式来自数据库(mysql)。 我尝试了以下代码,但没有得到我想要的 try { s= HibernateUtil.currentSession(); tx=s.beginTransaction(); Query query = s.createQuery("select from Dailytimesheet dailytimesheet where dailytimeshe

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

 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>");                       
试试看{
s=HibernateUtil.currentSession();
tx=s.beginTransaction();
Query Query=s.createQuery(“从Dailytimesheet Dailytimesheet中选择Dailytimesheet,其中Dailytimesheet.IdDailyTimeSheet=6083”);
for(Iterator it=query.iterate();it.hasNext();)
{                                                                           
if(it.hasNext())
{
Dailytimesheet对象=(Dailytimesheet)it.next();
字符串dt=object.getTimeFrom().toString();
SimpleDataFormat sdf=新的SimpleDataFormat(“HH:mm”);
长ms=0;
试一试{
ms=sdf.parse(dt.getTime();
} 
catch(异常解析e){e.printStackTrace();}
时间ts=新时间(ms);
out.println(“+ts+”);

感谢您的帮助。

也许您可以在Dailytimesheet中添加一个名为GetTimeWithOutSecondFrom()的新方法,该方法复制日期对象,然后在返回日期之前将副本的秒数设置为零

作为一个额外的好处,您可以完全避免SimpleDataFormat sdf位,这样代码将更易于阅读

代码可能如下所示:

public Date getTimeWithoutSecondsFrom()
{
    Date result = this.getTimeFrom();
    result.setSeconds(0);
    return(result);
}
Calendar c = new Calendar();
Calendar.setDate(new Date(object.getTimeFrom().toString()));
String date = Calendar.HOUR + ":" + Calendar.MINUTE

也许您可以在Dailytimesheet中添加一个名为GetTimeWithOutSecondFrom()的新方法,该方法复制date对象,然后在返回日期之前将副本的秒数设置为零

作为一个额外的好处,您可以完全避免SimpleDataFormat sdf位,这样代码将更易于阅读

代码可能如下所示:

public Date getTimeWithoutSecondsFrom()
{
    Date result = this.getTimeFrom();
    result.setSeconds(0);
    return(result);
}
Calendar c = new Calendar();
Calendar.setDate(new Date(object.getTimeFrom().toString()));
String date = Calendar.HOUR + ":" + Calendar.MINUTE

试试java.util.Calendar类怎么样? 你可以这样做:

public Date getTimeWithoutSecondsFrom()
{
    Date result = this.getTimeFrom();
    result.setSeconds(0);
    return(result);
}
Calendar c = new Calendar();
Calendar.setDate(new Date(object.getTimeFrom().toString()));
String date = Calendar.HOUR + ":" + Calendar.MINUTE

或者我不明白你的问题?

试试java.util.Calendar类怎么样? 你可以这样做:

public Date getTimeWithoutSecondsFrom()
{
    Date result = this.getTimeFrom();
    result.setSeconds(0);
    return(result);
}
Calendar c = new Calendar();
Calendar.setDate(new Date(object.getTimeFrom().toString()));
String date = Calendar.HOUR + ":" + Calendar.MINUTE

或者我不明白你的问题?

你应该使用
DateFormat
的格式化方法。类似于:

out.println("<h2>"+sdf.format(ts)+"</h2>"); 
out.println(“+sdf.format(ts)+”);

您应该使用
DateFormat
的格式化方法。类似于:

out.println("<h2>"+sdf.format(ts)+"</h2>"); 
out.println(“+sdf.format(ts)+”);

将HH:MM:SS转换为HH:MM最好通过
hhmmss完成。子字符串(0,5)
;-)或者,您可能更喜欢在
SELECT
语句中正确格式化数据。

将HH:MM:SS转换为HH:MM最好通过
hhmmss.substring(0,5)完成
;-)或者,您可能更喜欢在
SELECT
语句中格式化数据。

您需要将
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.util.Date
对象转换为表示所需格式的人类可读时间的
java.lang.String
对象。无法再次将其转换回
Date
(或其任何子类,如
java.sql.time
等)不丢失格式。格式即不存储在
日期
中。
日期
只知道自历元以来的毫秒数

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

在这种情况下,我只需要在SQL中进行转换。这是MySql的日期转换。在您的情况下,应该是这样的-

块报价日期格式('2007-10-04 22:23:00','%H:%i')


看起来您需要对从查询中获得的每一行进行转换,如果您要检索许多记录,那么由数据库引擎进行转换可能更经济划算。

在这种情况下,我只需要在SQL中进行转换。这是MySql的日期转换。在您的情况下,应该是这样的-

块报价日期格式('2007-10-04 22:23:00','%H:%i')


看起来您需要对从查询中获得的每一行进行转换,如果您要检索多个记录,则由数据库引擎进行转换可能更经济划算。

您得到了什么答案?您应该收到什么答案?此代码段中缺少很多括号-请正确格式化。Wh在回答时你们得到了什么?你们应该得到什么答案?你们在这段代码中缺少了很多括号-请正确格式化它。