当前位置: 首页 > 面试题库 >

响应中的日期格式

商昆琦
2023-03-14
问题内容

调用a OData service并获取列的ATOM XML响应date将日期值设置为

<d:BUSINESS_DATE m:type="Edm.DateTime">2012-08-02T00:00:00.0000000</d:BUSINESS_DATE>

但。目前,我有一个类似的日期值"Thu Aug 02 2012 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)"。我想将此值转换为Edm.DateTIme格式,如上所示。

任何功能都可以实现相同。任何工作。请帮忙。


问题答案:

下列:

public static void main(String[] args) {
    String fromDate = "Thu Aug 02 2012 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)";
    String fromDateConverted = fromDate.replaceAll("\\+(..)(..)", "+$1:$2");
    System.out.println("ORG: " + fromDate);
    System.out.println("CNV: " + fromDateConverted);
    SimpleDateFormat parseFormat = new SimpleDateFormat("EE MMM dd yyyy HH:mm:ss zzzz", Locale.ENGLISH);

    Date theDate = parseFormat.parse(fromDateConverted);

    // OData Edm.DateTime:
    // yyyy “-” mm “-” dd “T” hh “:” mm [":" ss["." fffffff]]
    SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.0000000");

    System.out.println("EDM: " + outFormat.format(theDate));
}

打印出:

ORG: Thu Aug 02 2012 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)
CNV: Thu Aug 02 2012 02:00:00 GMT+02:00 (Mitteleuropäische Sommerzeit)
EDM: 2012-08-02T03:00:00.0000000

请注意时区的转换。Java SimpleDateFormat希望在偏移量中使用冒号。

说到时区,我不知道OData Atom XML是否在某处指定了时区。Edm.DataTime没有此类功能。

编辑 :如果要将输出转换为特定的时区(我的默认TZ为GMT + 1,因此输入02:00 GMT +
2的输出为03:00),则可以设置outFormat的时区,例如:

outFormat.setTimeZone(TimeZone.getTimeZone("PST"));


 类似资料:
  • 问题内容: 如何从日期转换该日期时间? 从此:2016-02-29 12:24:26 至:2016年2月29日 到目前为止,这是我的代码,它返回nil值: 问题答案: 您必须声明2 different ,第一个将字符串转换为a ,第二个以您的格式打印日期。 试试这个代码: Swift 3及更高版本: 从斯威夫特3 类已更改为与对。

  • 我有一个Spring 5(不是Spring Boot)项目,它有一个endpoint返回在依赖关系jar中定义的对象(我不能修改它)。这个对象有一个日期字段(LocalDateTime)。 日期在响应中的格式如下: 我怎么能把is写成ISO 8601或类似的呢?我尝试添加以下依赖项: 我还尝试为ObjectMapper创建一个主bean: 映射器在显式使用时工作正常,但在Spring返回JSON

  • 问题内容: 我正在使用角度以这种格式显示日期 如何显示像 使用角 有没有使用Angular JS-的直接方法(我可以使用普通的jQuery) 问题答案: 使用日期的角度过滤器。 请参阅以下链接。 http://docs.angularjs.org/api/ng.filter:date

  • 在react中验证道具的当前首选方法是什么? 现在我正在使用: 然而,这现在不符合禁止支柱类型棉绒规则。我应该使用还是有更好的方法?

  • 这是我从日期格式得到的例外情况