如何使用excel减去日期 - 当前日期与日期格式为yyyyddmmhhmmss

时间:2016-05-16 19:09:19

标签: excel excel-vba excel-formula excel-2010 vba

是否可以选择将日期格式import neitfaces import psutil print(netifaces.interfaces()) user_input = input('Address: ') x = netifaces.ifaddresses(user_input) data = psutil.net_io_counters(pernic=True) data = data[x] if type(data) == dict else data i.rx, i.tx = data[0], data[1] print(i.rx) print(i.tx) 与当前日期进行比较? 基本上我的一个外部来源有这种类型的日期,我必须将此日期与yyyymmddhhmmss进行比较,并检查两者之间的差异。我试图将这些日期与current date分开,所以基本上,我有两个列 - 第一个是日期,第二个是时间,但我找不到任何选项来减去列中日期的当前日期,因为结果不会到来正确的。

日期样本:LEFT,MID,RIGHT functions

拆分后

20161112203545

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

下面用公式生成的图像是不言自明的。

finding difference in dates

您的日期:D4

中的20161112203545

E4中转换日期的公式:

=DATE(LEFT(D4,4),MID(D4,5,2),MID(D4,7,2))+TIME(MID(D4,9,2),MID(D4,11,2),RIGHT(D4,2))

今天F4中的日期:=TODAY()

获取G4中日期差异的公式:=DATEDIF(F4,E4,"d")

修改

Excel DATEDIF的替代方案是内部使用VBA DATEDIFF函数的用户定义函数(UDF):

此UDF接受三个参数:

Start_Date:期间开始的日期。 End_Date:这是您希望计算的期间的最后日期。 单位:它指定您想要差异的间隔。此处单位接受以下值。 价值描述 YYYY年 Q季度 M月 一年的Y日 D日

Public Function xlDATEDIF(Start_Date As Date, End_Date As Date, Unit As String) As String  
    xlDATEDIF = DateDiff(Unit, Start_Date, End_Date)  
End Function 

在这种情况下,将使用公式H4 =xlDATEDIF(F4,E4,"D")  HTH

答案 1 :(得分:0)

将日期视为

  分裂后20161112203545:2016-11-12 20:05:45

由于Excel会使用序列号分配日期值,因此会导致一些问题,并且会将该号码丢弃。您可以使用= today()函数并将其设置在您输入日期的位置,比如它在单元格A1中,然后= A1-today()(格式化为数字)应该为您提供天数的差异。 Microsoft explanation of using Dates in Excel