【问题标题】:Convert date-time string to Date in excel在excel中将日期时间字符串转换为日期
【发布时间】:2019-10-22 06:45:58
【问题描述】:

我有两列包含日期时间值,例如“2019-08-15T00:45:28.228Z”。我想将它们中的每一个转换为日期格式列,然后找到日期之间的分钟数。

例如:


| A1                       | A2                       | Date(A1) | Date(A2) | A2-A1 in minutes |
|--------------------------|--------------------------|----------|----------|------------------|
| 2019-08-15T00:45:28.228Z | 2019-08-15T00:55:28.228Z |          |          | 10               |
| 2019-07-25T00:45:45.127Z | 2019-07-25T01:25:55.127Z |          |          | 40               |

我无法将列转换为日期格式,因为它也有时间元素,并且所有在线示例似乎都只针对日期

【问题讨论】:

  • 欢迎来到 SO!当您提出问题时,请尝试添加最少的内容:输入样本、预期输出样本、您尝试了什么、研究以及您在哪里堆叠。你应该进行自己的研究。只需将您的问题标题复制并粘贴到 Google 上,您就会得到很多答案。例如 this

标签: excel datetime excel-formula


【解决方案1】:

要获取数据时间,我们需要做的就是删除 T 和 Z,所以:

=--REPLACE(LEFT(A2,23),11,1," ")

然后格式化为所需的格式。

然后简单地减去日期和[mm] 的格式将返回所需的输出。

【讨论】:

  • -- 强制转换为数字吗?这可能是一个可能不会出现在更高版本的 Excel 中的 hack 吗?
  • @Paul 不是黑客。它是-1*-1。
【解决方案2】:

您可以使用LEFT 函数来检索日期(然后它将以其原始格式显示,例如2019-08-15),或者只需执行--LEFT 将结果转换为数字并将其格式更改为@ 987654328@使用Excel:

然后使用MID 函数检索时间并进行A2-A1 计算(将最后一列格式化为Time):

更新 - 根据 Paul 的建议,语法的长度将始终相同,因此您可以使用以下函数:

=--LEFT(A2,10)
=MID(A2,12,12)

【讨论】:

  • 您可以对此进行优化,因为日期和时间是标准的 IEEE 格式 - T 将始终位于同一位置,Z 也将始终位于同一位置(即在时间结束时,LENGTH - 1 )。
  • 啊,公平点,长度总是一样的。非常感谢 - 我会更新答案。
  • 一步获取日期和时间,您只需=LEFT(A2,10)+MID(A2,12,12)
  • 好的,谢谢@ScottCraner。我只是认为 OP 想在 C&D 列中显示日期(没有时间)。同意包含它会使整个解决方案更清洁。
  • @Paul 不,因为我们正在添加数字而不是创建文本字符串。通过添加日期部分和时间部分,我们得到一个可以格式化为日期/时间的数字。
猜你喜欢
  • 2014-04-23
  • 1970-01-01
  • 2015-09-17
  • 2021-07-14
  • 1970-01-01
  • 2023-01-26
  • 2011-12-16
  • 2014-05-24
  • 1970-01-01
相关资源
最近更新 更多