首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在XMLGregorianCalendar中指定日期格式

在XMLGregorianCalendar中指定日期格式
EN

Stack Overflow用户
提问于 2012-12-28 03:28:14
回答 3查看 110.6K关注 0票数 23

我想使用XMLGregorianCalendar格式的日期发送到web服务。web服务需要yyyy-dd-mm格式的信息。我使用下面的代码创建一个XMLGregorianCalendar并将其发送到web服务。

代码语言:javascript
复制
Date dob = null;
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

try {
    XMLGregorianCalendar date2;
    dob = df.parse("13/06/1983");

    GregorianCalendar c = new GregorianCalendar();
    c.setTimeInMillis(dob.getTime());
    date2 = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);
    System.out.println(date2);
}
catch(DatatypeConfigurationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
catch(ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

不幸的是,我总是得到1983-06-13T00:00:00.000-04:00格式的日期。时间也被包含在输出中。有没有可能只得到日期?你能帮帮我吗?

EN

回答 3

Stack Overflow用户

发布于 2013-10-18 21:27:43

您不需要指定"SimpleDateFormat",这很简单:您必须在不想显示的地方指定常量"DatatypeConstants.FIELD_UNDEFINED“

代码语言:javascript
复制
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(new Date());
XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendarDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_MONTH), DatatypeConstants.FIELD_UNDEFINED);
票数 31
EN

Stack Overflow用户

发布于 2012-12-28 03:36:05

知道了..。

代码语言:javascript
复制
Date dob=null;
DateFormat df=new SimpleDateFormat("dd/MM/yyyy");
dob=df.parse( "13/06/1983" );
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(dob);
XMLGregorianCalendar xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendarDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_MONTH), DatatypeConstants.FIELD_UNDEFINED);

这将使它具有正确的格式。

票数 16
EN

Stack Overflow用户

发布于 2016-08-05 11:18:52

对于任何格式,这都是一种简单的方法。只需将其更改为所需的格式字符串

代码语言:javascript
复制
XMLGregorianCalendar gregFmt = DatatypeFactory.newInstance().newXMLGregorianCalendar(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(new Date()));
System.out.println(gregFmt);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14060161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档