You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spreadsheet中:mm/dd/yy 12小时制时间转24小时制格式求助

解决Spreadsheet中12小时制文本转24小时制可计算日期值的方法

首先得明确:你之前尝试的格式设置、拆分工具等操作,大多只是改变了显示样式,或者处理后结果仍是纯文本,没法被TRUNC()这类函数识别为可计算的日期时间数值。我们的核心目标是把文本型时间转成真正的日期时间数值,同时设置符合需求的显示格式。

方法一:公式直接转换(推荐)

根据你的时间文本格式,选对应的公式即可:

情况1:时间文本是 8/16/2017 5:15:00 PM(空格+大写AM/PM)

在空白单元格输入公式:

=DATEVALUE(LEFT(A1, FIND(" ", A1)-1)) + TIMEVALUE(MID(A1, FIND(" ", A1)+1, LEN(A1)))
  • 逻辑拆解:LEFT(A1, FIND(" ", A1)-1) 提取日期部分,DATEVALUE() 把它转成日期数值;MID(...) 提取时间+AM/PM部分,TIMEVALUE() 会自动识别12小时制并转成24小时制的时间数值;两者相加就得到了完整的日期时间数值。

情况2:时间文本是 8/16/2017 5:15:00.pm(点+小写am/pm)

先修正文本格式再转换,公式:

=DATEVALUE(LEFT(A1, FIND(" ", A1)-1)) + TIMEVALUE(SUBSTITUTE(SUBSTITUTE(MID(A1, FIND(" ", A1)+1, LEN(A1)), ".pm", " PM"), ".am", " AM"))
  • 逻辑拆解:先用SUBSTITUTE()把.pm/.am替换成标准的 PM/ AM,再用和情况1一样的逻辑完成转换。

方法二:用Text to Columns拆分后合并

如果觉得公式复杂,试试拆分工具的方式:

  1. 选中包含时间文本的列,点击菜单栏的 Data > Text to Columns
  2. 第一步选 Delimited,点击「下一步」
  3. 勾选 Space 作为分隔符,点击「下一步」
  4. 第一列(日期部分)选 Date 格式,类型设为 MDY;第二列(时间+AM/PM)选 Text 格式,点击「完成」
  5. 在空白单元格输入公式 =DATEVALUE(C1) + TIMEVALUE(D1)(假设拆分后日期在C列,时间在D列),就能得到日期时间数值

最后一步:设置显示格式

转换完成后,选中结果单元格:

  1. 右键选「格式单元格」(或对应Spreadsheet的「格式」菜单)
  2. 选「自定义格式」,输入 m/d/yyyy HH:mm:ss(注意HH是24小时制,hh是12小时制)
  3. 确认后,单元格就会显示成你需要的8/16/2017 17:15:00样式

现在你再用 A1-TRUNC(A1) 提取时间就完全没问题了——因为底层是日期时间数值,TRUNC(A1) 会提取日期的整数部分,相减后得到的就是时间的小数部分,完全支持计算。

内容的提问来源于stack exchange,提问作者Anagha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:52:05