从msexcel中的时间戳中减去分钟

时间:2018-11-13 11:05:50

标签: excel vba vbscript

我正在从像Tue Nov 06 07:33:00 UTC 2018这样的格式的单元格中提取一个时间戳。现在,我想使用vbscript代码或vba代码从上述时间戳中减去几分钟。我该如何实现?

2 个答案:

答案 0 :(得分:0)

 $(".mytable tr").removeClass('someClass');

将自行为您提供会议记录。您可以将拆分分配给数组,然后使用`join

以正确的分钟数重新加入

类似的东西

split(split("Tue Nov 06 07:33:00 UTC 2018",":")(1),":")(0)

答案 1 :(得分:0)

无需进入VBA,您可以将时间戳与日期分开,然后处理时间戳并相应地调整日期。

假设您的日期在A列中,并且时间戳始终采用相同的结构(从第2行开始)

因此,首先创建一个只有时间戳的列,即B列:

=MID(A2,FIND("UTC",A2)-9,8)
  

07:33:00

这首先找到字符串中“ UTC”的位置,然后从左侧的9个字符开始提取8个字符(说明时间与“ UTC”之间的间隔)。

您已经可以在分钟/小时/秒上进行工作了。

小时:

=NUMBERVALUE(LEFT(B2,2))
  

07

分钟:

=NUMBERVALUE(Mid(B2,4,2))
  

33

第二:

=NUMBERVALUE(Right(B2,2))
  

00

您还可以使用相同的逻辑提取时间戳的日期部分。 C列:

=MID(A2,FIND(B2,A2)-11,10)
  

11月06日星期二

最后,您还可以将所有这些信息合并到一个Excel日期中,然后直接对结果数字进行操作(这将确保您获得一个新的有效日期,该日期可以解释为增加/减少的小时数/天数/月数/年数,也会自动计算leap年。)

最后日期,包括时间戳记,D列:

=DATEVALUE(MID(A2,FIND(B2,A2)-3,2)&"-"&MID(A2,FIND(B2,A2)-7,3)&"-"&RIGHT(A2,4))+NUMBERVALUE(LEFT(B2,2))/24+NUMBERVALUE(MID(B2,4,2))/(24*60)+NUMBERVALUE(RIGHT(B2,2))/(24*60*60)
  

43410.3145833333

在此最终数字上,您可以直接将其直接添加到分钟中来增加/减少分钟数。该数字的单位是“天”,因此一分钟等于1 /(24 * 60),一小时等于1/24。删除33分钟的示例:

=D2 - 33/(24*60)
  

43410.2916666667

将格式更改为[dd / mm / yyyy hh:mm]将导致:

  

06/11/2018 07:00:00