我正在尝试从格式为 (yyyy-MM-dd HH:mm z) 的字符串中解析 ZonedDateTime 。输入字符串 (2019-08-29 00:00 IST) 生成 UTC 时间戳。
调试使我发现 IST 的 ZoneId 被映射到大西洋/雷克雅未克,这是没有意义的。它应该被映射为亚洲。
timestamp = ZonedDateTime.parse(timeInput, DATE_WITH_TIMEZONE_FORMATTER)
.toInstant().toEpochMilli()
Run Code Online (Sandbox Code Playgroud)
在哪里
DateTimeFormatter DATE_WITH_TIMEZONE_FORMATTER = DateTimeFormatter
.ofPattern(DATE_TIME_WITH_TIMEZONE_PATTERN).withChronology(IsoChronology.INSTANCE);
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?
我正在尝试对此处记录的亚马逊销售合作伙伴 API - SP-API进行 API 调用。我通过 Java API 专门对 OrdersV0API 进行调用,如下所示 -
GetOrdersResponse resp = apiInstance.getOrders(marketPlaceIds, createdAfter, createdBefore,
lastUpdatedAfter, lastUpdatedBefore, orderStatuses, fulfillmentChannels, paymentMethods, buyerEmail,
sellerOrderId, maxResultsPerPage, easyShipShipmentStatuses, nextToken, amazonOrderIds);
Run Code Online (Sandbox Code Playgroud)
然而,尽管尝试了多个输入,我得到以下信息 -
Response{protocol=http/1.1, code=400, message=Bad Request, url=https://sellingpartnerapi-eu.amazon.com/orders/v0/orders?CreatedAfter=2021-01-07T00%3A11%3A12.515020&CreatedBefore=2021-01-07T00%3A11%3A12.515060&LastUpdatedAfter=2021-01-07T00%3A11%3A12.515020&LastUpdatedBefore=2021-01-07T00%3A11%3A12.515060&BuyerEmail=&SellerOrderId=&MaxResultsPerPage=1&NextToken=&OrderStatuses=Unshipped&MarketplaceIds=A21TJRUUN4KGV&FulfillmentChannels=MFN&PaymentMethods=Other}
Run Code Online (Sandbox Code Playgroud)
亚马逊的文档并不是世界上最好的,因此我希望从社区获得解决方案。想知道有没有人穿过类似的鞋子?