节点手册 · 数据清洗

KNIME String to Date&Time 文本转日期用法

Manipulation → Column → Convert & Replace

把文本形式的日期转成真正的日期类型。格式串写错是转不出来的唯一原因,而 MMmm 的区别是最常见的一处。

它解决什么问题

读进来的「2026-01-05」多数时候只是一串文本。文本状态下日期排序不对、算不了两个日期之间差几天、也没法按月份分组。这个节点把它变成 KNIME 认得的日期类型。

判断某列现在是不是日期类型:看列名旁边的图标。是日历图标就已经是日期,是「S」之类的文本标记就还没转。别靠肉眼看值的样子判断 – 文本和日期显示出来可能一模一样。

它在流程里的位置

Excel Reader读进来
String to Date&Time转日期类型
Row Filter按日期区间筛
GroupBy按月汇总

要按日期区间筛选或按月分组,必须先转类型。文本状态下这两件事都做不对。

基本信息

英文原名String to Date&Time
中文名称文本转日期时间(iModel 中文界面)
输入端口1 个数据表
输出端口1 个,行数不变
反向操作Date&Time to String,出报表时把日期格式化成指定样子

格式串怎么写

格式串必须和数据里的写法完全一致 – 分隔符、位数、顺序,一个不对就转不出来。

数据长这样格式串写这个说明
2026-01-05yyyy-MM-dd最标准的写法
2026/1/5yyyy/M/d月和日不补零,用单个字母
20260105yyyyMMdd没有分隔符
2026-01-05 14:30:00yyyy-MM-dd HH:mm:ss带时间,注意大小写
05/01/2026dd/MM/yyyy日在前,常见于导出的英文系统
大小写是有意义的,这是最常踩的一个坑。

MM 是月份,mm 是分钟。写成 yyyy-mm-dd 不会报错也不会转对 – 它会把月份当成分钟去解析。

dd 是几号,DD 是一年中的第几天。HH 是二十四小时制,hh 是十二小时制。

配置项逐条

  • 要转换的列Column Selection

    可以一次选多列,但它们必须是同一种格式 – 格式不同的列要分几个节点做。

  • 目标类型Date / Time / Date&Time

    只有年月日选 Date;只有时分秒选 Time;两样都有选 Date&Time。选得比数据里的信息多,转换会失败。

  • Date format格式串

    按上面那张表写。下拉框里通常有常见格式可选,不必每次手打。

  • Locale区域设置

    数据里出现英文月份名(Jan、March)或者中文「一月」时才需要动它。纯数字日期不用管。

  • 转换失败时Fail / Insert missing

    中止执行,还是把转不出来的置为空值继续跑。调试阶段选中止 – 它会告诉你是哪一行的什么值转不了。生产流程里若确知有少量脏值,再改成置空,但下游要加一步统计空值数量。

String to Date&Time 配置对话框
要转换的列
购置日期格式相同的列可以一次多选。
目标类型
DateTimeDate&Time
格式串Date format
yyyy-MM-dd MM 是月,mm 是分钟。写错不报错,只是转不出来或者转错。
转换失败时
中止执行置为空值继续 调试阶段选中止,它会指出哪一行的什么值转不了。

三个常见坑

  1. 一列里混着几种写法。人工填报的表里,「2026-01-05」「2026/1/5」「2026年1月5日」可能同时存在。一个格式串管不了三种。修法:先用 String Manipulation 统一成一种写法再转 – 把「年月日」替换成横线,把斜杠替换成横线。
  2. 中文日期转不出来。「2026年1月5日」不是标准格式。先替换掉中文字符变成 2026-1-5,再用 yyyy-M-d 转。
  3. Excel 里的日期读进来是五位数字。那是 Excel 内部的日期序号,不是文本,这个节点管不了。要用按 Excel 序号还原日期的方式处理,别在这里硬转。

什么时候该换别的节点

情况换成
要把日期变回文本,按指定样子出报表Date&Time to String
要算两个日期差几天Date&Time Difference,先都转成日期类型
要从日期里取出年、月、季度Extract Date&Time Fields
一列里格式实在太杂先用 String Manipulation 统一,再回来转

怎么调格式串都转不出来

把「转换失败时」改成中止执行,报错信息会告诉你是哪一行的什么值卡住了。多半那一行的写法和其他行不一样。

iModel 专属客服
网页直接对话,无需微信
4008568196 拨打此号码联系我们

微信扫码咨询

iModel 微信咨询二维码

使用微信扫描上方二维码