Excel问题:我需要一个date和时间公式来在时区之间进行转换

我试图find一种方法来计算我的时区(中部)和(太平洋;山区;东部)之间的天数。 只是不知道从哪里开始。 我的标准如下:

单元格C5:C100将是这种格式的时间戳:3/18/2010 23:45但是不同的date和时间。 单元格D5:D100将以文本forms对应的时区:太平洋; 山; 东; 中央。

单元格F5将是需要天数的持续时间。

只是不知道如何写公式给我什么,我正在寻找。 我感谢任何援助提前。 谢谢

从时区和夏令时开始

VBA和VB6都不提供用于使用时区,格林尼治标准时间(GMT,也称为UTC)或夏令时的任何本机function。 要使用这些值,您必须使用一些Windows应用程序编程接口(API)函数。 这个页面描述了这些API函数以及如何在你的VBA代码中使用它们。

最简单的方法可能是一个嵌套的IF公式:

=IF(D22="Pacific",(1/24*2),IF(D22="Mountain",(1/24),IF(D22="Eastern",-(1/24),0)))

或者使用LOOKUP函数返回相同的结果:

=(C5+(1/24*LOOKUP(D5,{"Central","Eastern","Mountain","Pacific"},{-2,-3,-1,0})))-C5

或者,您可以创build一个UDF,它采用当地的date/时间,并从时区的文本表示中计算太平洋date/时间:

 Function TimeDifference(LocalTime As Range, TimeZone As Range) As Date Application.Volatile Dim TimeOffset As Long Select Case TimeZone Case "Mountain" TimeOffset = -1 Case "Central" TimeOffset = -2 Case "Eastern" TimeOffset = -3 Case Else TimeOffset = 0 End Select TimeDifference = (1 / 24 * TimeOffset) End Function 

你可以像这样从列F中调用它:

=TIMEDIFFERENCE(C5,D5)