在 Java 中设置 XML 公历日历值

从日历日期设置 XML 公历日历值的最佳方法是什么?


    posting.setXMLGregorianCalendar(message.getCreateDate());

这里我的班级:


Message.java


private Calendar createDate;

public Calendar getCreateDate() {

    return createDate;

}


幕布斯7119047
浏览 80回答 2
2回答

弑天下

你可以试试这个:Calendar createDate = Calendar.getInstance();Date cDate = createDate.getTime();GregorianCalendar c = new GregorianCalendar();c.setTime(cDate);XMLGregorianCalendar date2 = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);

千万里不及你

博士DatatypeFactory.newInstance().newXMLGregorianCalendar(     GregorianCalendar.from(         ZonedDateTime.now(             ZoneId.of( "Pacific/Auckland" )         )     ))一个时刻需要一个时区XML 公历日历类、公历日历类和日历类都表示一个时刻,即日期、一天中的时间和分配的时区。注意时区问题。如果无法显式解决区域问题,那么将隐式分配 JVM 的当前缺省时区。以 的格式指定正确的时区名称,如 、 或 。切勿使用2-4个字母的缩写,例如或因为它们不是真正的时区,不标准化,甚至不是唯一的(!)。Continent/RegionAmerica/EdmontonAfrica/TunisEurope/MoscowESTISTZoneId z = ZoneId.of( "America/Montreal" ) ;如果要使用 JVM 的当前默认时区,请请求它并作为参数传递。如果省略,代码将变得模棱两可,因为我们不确定您是否打算使用默认值,或者您是否像许多程序员一样没有意识到这个问题。ZoneId z = ZoneId.systemDefault() ;  // Get JVM’s current default time zone.时间这些课程也很糟糕。Sun、甲骨文和 JCP 社区多年前就放弃了它们,采用了 JSR 310...你也应该这样做。仅将 java.time 类用于业务逻辑。…CalendarZoneId z = ZoneId.of( "Africa/Casablanca" ) ;ZonedDateTime zdt = ZonedDateTime.now( z ) ;   // Capture the current moment as seen through the wall-clock time used by the people of a particular region (a time zone).转换如果与尚未更新到 java.time 的旧代码进行交互,请在旧类和新式类之间进行转换。查看添加到旧类中的新方法。对象可以通过调用公历日历(区域日期时间)转换为对象(的子类)。ZonedDateTimeGregorianCalendarCalendarGregorianCalendar gregCal = GregorianCalendar.from( zdt ) ;A 可以转换为 a ,但我们必须多做一个步骤。该类本身缺少 来自 的转换器方法。一个帮助器类可以完成工作,数据类型工厂,如斯蒂芬·科尔伯恩的这个答案所示,“JodaStephen”,java.time的发明者。GregorianCalendarXMLGregorianCalendarXMLGregorianCalendarGregorianCalendarXMLGregorianCalendar xmlGregCal = DatatypeFactory.newInstance().newXMLGregorianCalendar( gregCal );不是我推荐它,但你可以把它组合成一个单行,如顶部的tl;dr部分所示。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java