【问题标题】:subtracting times and dates in vba excel [closed]在vba excel中减去时间和日期[关闭]
【发布时间】:2016-09-03 18:55:23
【问题描述】:

我有一长串时间和日期,例如:

`2015 年 4 月 10 日下午 12:19:01 2015 年 4 月 10 日下午 12:20:15 ... 2015 年 4 月 10 日下午 12:24:16 2015 年 4 月 10 日下午 12:24:27

我想获取日期/时间并将系列转换为分钟,方法是减去第一个日期/时间并获得经过的分钟数。

基本上就是这样:

0 分钟 76 分钟 ... 315 分钟 326 分钟

但我不知道如何在 vba excel 中执行此操作。我需要为多张工作表执行此操作,因此我试图弄清楚如何编写代码 VBA 以便我可以自动化它。

请帮忙。

【问题讨论】:

  • 假设您的日期和时间只是标准 Excel 日期/时间(即双精度数字),而不是字符串,您可以使用 (value - firstValue) * 24 * 60 计算分钟数跨度>

标签: excel date time vba


【解决方案1】:
Dim date1 As Date
Dim date2 As Date
Dim time_diff As Integer

date1 = "4/10/2015 12:19:01 PM"
date2 = "4/10/2015 12:20:15 PM"
time_diff = (date2 - date1) * 24 * 60
MsgBox "time difference is " & time_diff & " minutes"

【讨论】:

  • 但这是否意味着分钟是 VBA 中的默认时间度量?
  • 如果你想找出以小时为单位的time_diff = (date2 - date1) * 24 和秒的差异time_diff = (date2 - date1) * 24 * 60 * 60
  • VBA 中的默认时间度量是多少?我试图概念化 24 * 60 的来源。这是 VBA 中的通用规则吗?所有时间和日期都用这个单位来衡量吗?
  • 当您减去两个日期时,您会得到天数的差异。将其转换为小时,您乘以 24 并转换为分钟 24*60 和秒 24*60*60
  • excel 是否测量日期值? 2000 年 1 月 00 日的日期是多少?日期 9/3/2016 的值是多少?
猜你喜欢
  • 2012-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 1970-01-01
相关资源
最近更新 更多