news 2026/3/1 19:14:21

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/21 18:08:51

微信小程序终极任务管理神器:weapp-todos完全使用指南

微信小程序终极任务管理神器:weapp-todos完全使用指南 【免费下载链接】weapp-todos 一个简单的任务清单小程序, awesome weapp demo, todos, todolist 项目地址: https://gitcode.com/gh_mirrors/we/weapp-todos 还在为繁杂的日常任务感到头疼吗&#xff1f…

作者头像 李华
网站建设 2026/2/28 15:06:15

最小二乘问题详解4:非线性最小二乘

1. 引言在论述最小二乘问题的时候,很多文章都喜欢用拟合直线来举例,但是在现实中像拟合直线这样的线性最小二乘问题往往不是常态,现实世界中更多是像投影成像这种非线性最小二乘问题。在本文中,我们就讲解一下非线性最小二乘问题。…

作者头像 李华
网站建设 2026/2/28 22:24:39

不是所有旅行都要有意义,舒服才是答案

不晓得从什么时候开始,深度游成了旅游领域的热门词语,大家都不想匆匆地游览,就希望好好感受城市的“真实灵魂。认真思索一番,所谓深度或许算是一个虚假概念我们带着自身的学识,、成见还有期待出发,所看到的…

作者头像 李华
网站建设 2026/2/26 22:10:14

基于SpringBoot+Vue的大学生就业服务平台的设计与实现

一、前言 大学生就业服务平台管理系统按照操作主体分为管理员和用户。管理员的功能包括学生档案管理、字典管理、试卷管理、试卷选题管理、试题表管理、考试记录表管理、答题详情表管理、错题表管理、法律法规管理、法律法规收藏管理、法律法规留言管理、就业分析管理、论坛管理…

作者头像 李华
网站建设 2026/2/28 10:55:42

从零开始掌握LibreCAD:免费开源CAD软件的完全使用指南

从零开始掌握LibreCAD:免费开源CAD软件的完全使用指南 【免费下载链接】LibreCAD LibreCAD is a cross-platform 2D CAD program written in C14 using the Qt framework. It can read DXF and DWG files and can write DXF, PDF and SVG files. The user interface…

作者头像 李华