如何从Bargain Finder Max v5 REST API响应中获取跨天转机航班日期?
获取Sabre Bargain Finder Max v5 API的航班日期(含跨天转机场景)
核心方法:从响应字段直接提取或结合基准日期推导
Sabre的Bargain Finder Max v5 API响应里的scheduleDescs仅提供时分信息,但你可以通过两种可靠方式获取完整航班日期:
1. 直接提取legs层级的完整时间戳
响应的legs数组中,每个航段对象都包含departureDateTime和arrivalDateTime字段,格式为YYYY-MM-DDTHH:MM:SS,直接就能拿到该航段的准确日期和时间,无需自行计算。示例如下:
"legs": [ { "departureDateTime": "2024-05-20T08:00:00", "arrivalDateTime": "2024-05-20T10:30:00" }, { "departureDateTime": "2024-05-21T09:15:00", "arrivalDateTime": "2024-05-21T12:00:00" } ]
这种方式完全规避了跨天、跨时区的计算误差,是最推荐的方案。
2. 结合请求基准日期自行推导
如果需要手动计算,可按以下步骤操作:
- 取你发起搜索时提交的
originDestinationInformation[].departureDate作为首程航班的基准出发日期; - 首程航班:将基准日期与
scheduleDescs里的出发时间组合成完整出发时间,再加上flightDetails.elapsedTime得到到达时间; - 转机航班:对比当前段出发时间与前一段到达时间,若当前段出发时间更早,说明跨天,日期加1天;反之则沿用前一段的日期;
- 注意:所有时间均为当地时间,需结合机场时区信息确保计算准确。
内容的提问来源于stack exchange,提问作者Tomer
相关产品推荐
相关产品推荐

