【问题标题】:Mulesoft add excel date serial number to dateMulesoft将excel日期序列号添加到日期
【发布时间】:2019-03-29 09:54:08
【问题描述】:

我正在读取一个 excel 文件数据,其中一列是“DateTime”(即 01/01/1990 00:00:00),但 Anypoint 将其读取为字符串类型“excel 日期序列号”(即 33257.415972222225) . 如何在 DataWeave 中正确转换日期?

例如: 日期:“01/01/1990 00:00:00”为:日期{格式:“MM/dd/yyyy HH:mm:ss”} +“P$(33257.415972222225/12)Y”

【问题讨论】:

  • 您能否为您自己的问题提供一个答案并将其标记为正确?
  • 实际上没有用,所以我删除了该评论。

标签: date mule date-formatting anypoint-studio


【解决方案1】:

converting Excel dates to Unix dates(纪元时间)有一个现有答案,可以轻松适应 DataWeave。请注意,Windows 和 Mac 中的 Excel 使用不同的开始日期,因此公式会相应变化。

脚本

%dw 1.0
%output application/json
---
{
  dateExcelWindows: (((payload as :number) - 25569 ) * 86400 ) as :datetime,
  dateExcelMac: (((payload as :number) - 24107 ) * 86400 ) as :datetime
}

输入(在 Windows Excel 中是 2011 年 6 月 9 日上午 10:30):

"40703.4375"`

输出:

{
   "dateExcelWindows": "2011-06-09T10:30:00Z",
   "dateExcelMac": "2015-06-10T10:30:00Z"
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-30
    • 2011-02-15
    • 2013-04-20
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多