news 2026/1/26 11:10:47

EDI 中的日期和时间

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EDI 中的日期和时间

如果您的贸易伙伴将向您发送采购订单,这些采购订单是什么样的?每个贸易伙伴的格式都会有所不同,但通常看起来像这样。

本实施指南基于 850 采购订单的 X12 EDI 规范。不过,该规范比您需要的要广泛得多,因为它满足了任何人在采购订单中可能想要的一切。例如,它包含用于指定其他文书工作的字段。您的贸易伙伴不需要它 — 甚至无法处理它 — 因此他们向您发送了一份实施指南,其中仅包含他们期望的字段。换句话说,实施指南是 X12 EDI 规范的子集,您只需处理该子集。

当然,我不知道你在和谁交易,我也不知道你在处理哪种类型的文件,所以我在这里可能会介绍比你需要的更多的内容。请记住:参考实现指南并忽略其中没有的所有内容,以免让您发疯。

如果您的贸易伙伴向您发送了一份文档,您可能希望日期如下所示。

"shippingDate": "2022-04-28T13:05:37Z"

但是,EDI 不同。相反,它看起来像这样。

DTM*11*20220428*130537*UT

每个字段都位于其自己的行上,只是它不称为字段;它称为 Segment。每个分段都以一个代码开头,该代码告诉您分段包含的数据类型。DTM表示该区段表示日期和时间。

EDI 实际上有三个不同的部分来表示日期和时间:DTM、DTP 和 G62。DTM 是最常见的,但也是最复杂的,所以我最后谈谈这个问题。幸运的是,我将向您展示的有关 G62 和 DTP 的所有内容也适用于 DTM。

更复杂的是,日期和时间并不总是用这些专用区段之一表示;有时它们被嵌入到完全不同的细分中。这些区段采用专用日期和时间区段的零碎部分,并称它们为自己的区段。

G62 系列

日期

G62 段表示这样的日期。

G62*11*20220428

该片段的最后一个元素并不难理解:它是实际日期。它始终采用 YYYYMMDD 格式。中间还有一个元素,目前尚不清楚它的含义。假设您有一个货件状态更新文档,其中包含两个不同的日期。

"shippedDate": "2022-04-28" "estimatedDeliveryDate": "2022-04-29"

在 EDI 中,这将是这样的。

G62*11*20220428 G62*17*20220429

EDI 没有命名字段。相反,它使用代码。11代表Shipped on This Date17代表Estimated Delivery Date。如果您查看可能代码的完整列表,您会发现其中有 137 个。这很多。它们都有名字,但这些名字并不能很好地解释它们的含义。这时,您需要查看贸易伙伴为您提供的实施指南。

如您所见,您的贸易伙伴只会向您发送1117.这是有道理的,因为像这样的代码BC - Publication Date在货物状态更新的上下文中没有任何意义。

时间

我给出的示例只显示了一个日期,但G62也可以包含时间。事实上,G62的完整规范如下所示。

同样,实现指南将告诉您是否需要完整的 segment,但是由于我们已经看到了日期的示例,因此让我们看一下时间示例。

G62***8*1547*LT

包含日期相关信息的元素留空。分隔符*仍然存在,否则我们将不知道跳过了多少字段。所以,这就是G628之间的那三个星号的含义:跳过两个日期字段。

1547是时间:下午 3:47。它始终以 24 小时制指定。该示例显示了可能的最短时间格式,但时间也可以包含秒甚至几分之一秒。

FormatExampleMeaningHHMM09059:05 ,AMHHMMSS1928517:28:51 ,PMHHMMSSD104537810:45:37.8, AMHHMMSSDD2307429111:07:42.91 下午

如果您想确定需要处理哪种格式,则必须查看实施指南。

示例中的8是你正在处理的时间类型的代码,就像1117日期类型的代码一样。8Actual Pickup Time。您可以查找所有可能的代码,但最好参考您的实现指南。

最后一个元素指定时区。当你查找时区代码时,一些描述可能有点令人困惑,但有办法让这一切变得疯狂。 表示 UTC+08 和 UTC-03。换句话说,Equivalent to ISO P08Equivalent to ISO M03,末尾的数字是与 UTC 的偏移量,其中P意味着+M意味着-

在此示例中,时区为LT,表示Local Time。这取决于哪个时区的上下文。如果您正在处理货件状态更新,那么取件的当地时间是取件发生地的当地时间是理所当然的。

日期时间Date-time

由于G62可以同时表示日期和时间,因此它也可以表示日期时间。

G62*11*20220428*8*1547*LT

此部分告诉您,包裹于当地时间 2022 年 4 月 28 日下午 3:47 发货。实际上,您不太可能在同一 segment 中同时获得日期限定符 (11) 和 time 限定符 (8),因为它们传达的信息相似,但请检查您的实施指南以确保。

DTP

DTP 段也用于表示日期和时间,但它比 G62 段更灵活。DTP 几乎可以表达 G62 所能表达的所有内容(除了时区和几分之一秒),并且它还具有一些额外的功能。

日期Date

一个简单的日期如下所示。

DTP*11*D8*20220428

如您所见,日期在结尾。第一个元素与 G62 相同:它告诉您正在处理的是什么样的日期。该值11的含义为Shipped,因此这与 G62 相同,即使它的描述略有不同。不过,DTP 的整个可能代码列表要长得多;超过一千种可能性。请务必查看您的实施指南,看看哪些与您相关。

中间的元素是新的。它指定要使用的格式。D8表示这是 YYYYMMDD 格式的日期。这就是 DTP 比 G62 更灵活的地方:您可以使用不同的格式。例如,D6表示 YYMMDD 格式的日期,TT表示 MMDDYY 格式的日期,CY表示以年和季度表示的日期,例如20221指 2022 年第 1 季度。最后一个问题很有趣,因为没有办法用常规的日期格式来表达季度的概念。

时间Time

DTP 也可以做时间。

DTP*11*TM*1547

TM表示 HHMM 格式的时间,与 G62 一样,DTP 始终使用 24 小时制。另一个代码是 ,表示 HHMMSS 格式的时间。没有代码允许您指定秒的小数部分,因此这是 DTP 所不具备的 G62 功能。DTP 也不提供指定时区的方法。TS

日期时间

表示日期时间不需要任何额外的字段,只需要不同的格式限定符。

DTP*11*DT*202204281547

如您所料,DT表示 YYYYMMDDHHMM 格式的日期时间,示例中的日期时间为 2022 年 4 月 28 日下午 3:47。如果限定符设置为RTS代替DT,则日期时间也将包含秒。

范围Range

DTP 真正胜过 G62 的地方在于它能够表示日期范围。

DTP*135*RD8*20211224-20220104

这表示 2021 年 12 月 24 日至 2022 年 1 月 4 日。与以前一样,RD8限定符以 YYYYMMDD-YYYMMDD 格式提供确切的格式和表示日期范围。还有一些范围包括时间,有些范围只使用年,以及介于两者之间的所有内容。您可以查看限定符的完整列表,但最好查看贸易伙伴的实施指南。

DTM

DTM 段是在 EDI 中表示日期和时间的最常用方式。它也是最灵活的,因为它同时具有 G62 元件和 DTP 元件的功能。这也将使它成为最令人困惑的,除了您已经见过 G62 和 DTP,所以关于 DTM 没有什么可说的了。

如您所见,它只是 G62 元素和 DTP 元素的组合。您确实需要弄清楚哪些元素被使用,哪些被忽略,但现在,您也知道如何做到这一点:查看实现指南。

其他段

如果您必须处理 850 采购订单,您会发现它包含一个名为 BEG 的段,并且该段有一个表示日期的元素。它与您在 G62 或 DTM 中找到的元素相同,即以 YYYYMMDD 格式表示的日期,只是嵌入在与日期无关的区段中。对于采购订单,它表示采购商定义的采购订单日期。

不过,这并不仅限于 BEG 细分市场。例如,B10 区段包括日期和时间。AT7 段包括日期、时间和时间代码,CUR 段具有日期和时间以及日期/时间限定符。还有更多很多这样的细分市场。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/18 16:56:40

多参数水质监测仪的技术优势与应用场景

水环境质量直接影响生态平衡与人类生产生活。多参数水质监测仪作为水环境管理的核心工具,通过集成多种传感器与智能分析技术,实现对水体多维度、实时化的动态监测。其精准度高、功能全面、适应性强,可广泛应用于饮用水源保护、工业废水监管、…

作者头像 李华
网站建设 2026/1/23 9:00:17

终极FGO助手Chaldea:从材料管理到战斗策略的完整解决方案

终极FGO助手Chaldea:从材料管理到战斗策略的完整解决方案 【免费下载链接】chaldea Chaldea - Yet Another Material Planner and Battle Simulator for Fate/Grand Order aka FGO 项目地址: https://gitcode.com/gh_mirrors/ch/chaldea 还在为FGO复杂的养成…

作者头像 李华
网站建设 2026/1/21 21:33:23

Scoop 全局安装指南

Scoop 全局安装指南 什么是 Scoop 全局安装? Scoop 支持两种安装模式: 本地安装:应用程序安装在用户目录下(C:\Users\用户名\scoop),仅当前用户可用全局安装:应用程序安装在系统目录下&#xff…

作者头像 李华
网站建设 2026/1/21 17:34:44

80亿参数仅激活3B:Qwen3-Next架构如何重塑AI效率格局

80亿参数仅激活3B:Qwen3-Next架构如何重塑AI效率格局 【免费下载链接】Qwen3-Next-80B-A3B-Thinking Qwen3-Next-80B-A3B-Thinking 在复杂推理和强化学习任务中超越 30B–32B 同类模型,并在多项基准测试中优于 Gemini-2.5-Flash-Thinking 项目地址: ht…

作者头像 李华