【问题标题】:AxisTime to Java TimeAxisTime 到 Java 时间
【发布时间】:2012-07-09 14:59:35
【问题描述】:

我正在尝试将 axis.types.Time 转换为 sql.Time,如下所示:

    org.apache.axis.types.Time axisTime = (org.apache.axis.types.Time) valore;
    Calendar calendarTime = axisTime.getAsCalendar();
    java.sql.Time jsqlT = java.sql.Time.valueOf( cal.get(cal.HOUR_OF_DAY) + ":" +  cal.get(cal.MINUTE) + ":" + cal.get(cal.SECOND) );

但我之间的转换相差一小时。这与日光有关吗?我该如何解决?

(输出: 轴心时间:20:45:00.000Z

日历:java.util.GregorianCalendar[time=-62167403700000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=0,YEAR=2,MONTH=11,WEEK_OF_YEAR=1,WEEK_OF_MONTH=5,DAY_OF_MONTH=31,DAY_OF_YEAR=365,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=45,SECOND=0,MILLISECOND=0,ZONE_OFFSET=3600000,DST_OFFSET=0]

SQLTIME 21:45:00

编辑:我通过使用字符串解决了这个问题......但是这个轴日期/时间对象对日光和时区不是很友好,DateTime 对象的麻烦甚至更糟(再次,我强制解决方案忽略 GMT /日光和使用字符串)

【问题讨论】:

    标签: java time


    【解决方案1】:

    试试这个:

    org.apache.axis.types.Time axisTime = (org.apache.axis.types.Time) valore;
    Calendar calendarTime = axisTime.getAsCalendar();
    java.sql.Time jsqlT = new java.sql.Time(calendarTime.getTimeInMillis());
    

    这样您就不应该对夏令时更改有任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 2015-02-07
      相关资源
      最近更新 更多