news 2026/2/16 1:06:57

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/2/9 9:30:06

基于SSM+Vue的个人理财系统的设计与实现

前言 本个人理财系统管理员功能有个人中心,用户管理,账单类型管理。用户功能有个人中心,收入账单管理,支出账单管理,理财计划管理,统计分析管理,备忘录管理等。因而具有一定的实用性。 本站是一…

作者头像 李华
网站建设 2026/2/15 18:22:49

赛马娘本地化补丁完整指南:5分钟实现游戏完美汉化

赛马娘本地化补丁完整指南:5分钟实现游戏完美汉化 【免费下载链接】umamusume-localify Localify "ウマ娘: Pretty Derby" DMM client 项目地址: https://gitcode.com/gh_mirrors/um/umamusume-localify 赛马娘本地化补丁是专为《赛马娘: Pretty D…

作者头像 李华
网站建设 2026/2/12 7:13:26

终极ComfyUI效率节点完整安装教程:5步实现AI绘画工作流革命

终极ComfyUI效率节点完整安装教程:5步实现AI绘画工作流革命 【免费下载链接】efficiency-nodes-comfyui A collection of ComfyUI custom nodes.- Awesome smart way to work with nodes! 项目地址: https://gitcode.com/gh_mirrors/eff/efficiency-nodes-comfyui…

作者头像 李华
网站建设 2026/2/14 20:44:57

【CMake 】CMake 中 add_executable 与 target_sources 详解

CMake 中 add_executable 与 target_sources 详解 📖 前言 在 CMake 构建系统中,add_executable 和 target_sources 是两个用于管理源文件的重要命令。理解它们的关系、区别和使用场景,对于编写高质量的 CMake 配置文件至关重要。本文将深入探…

作者头像 李华
网站建设 2026/2/14 19:43:51

2003-2021近全球农业气候干旱监测数据集(0.25度/逐月)

2003-2021近全球月度农业气候干旱监测数据集 一、数据介绍 全球干旱发生频率不断上升且严重程度日益加剧,这给农业和气候资源管理带来了严峻挑战,凸显了对全面干旱数据的迫切需求。为应对这一问题,我们推出了近全球农业气候干旱监测数据集。…

作者头像 李华