如何将文本格式的时间戳转换为MS Excel的实际date格式?

文本中的时间戳是“Mon May 16 00:01:46 IST 2016”。 我应该如何将这个string转换成dd / mm / yyyy hh:mm:ss时间格式的excel?

你将需要经历一系列的string操作和date时间函数。 让我们假设你的string在A1单元格中。 为了做到这一点,我们将从最大的单位(年)到最小的单位(秒)。 你可以以任何顺序来完成,因为它将被整合到一个公式中,但是对于步骤的分解,它可以有一个命令。

步骤1)拔出年份

=RIGHT(A1,4) 

这将给我们在这种情况下是一年的string的最后4个字符。

第2步)拉出月份

 =MONTH(DATEVALUE(MID(A1,FIND(" ",A1)+1,FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1)-1)&"-"&1)) 

丑陋看第一个和第二个空间在哪里,并拉出之间是你的月份的string。 然后将其转换为Excel格式,通过添加 – 和数字1来认定它是date缩写forms。 所以在你的情况下,如果看起来像5月1日。 Datevalue将其转换为exceldate序列,然后我们将其拖回并从您的案例中获取5个月

如果上述公式不适合您,可能是由于区域设置。 如果是这种情况,您可以使用以下内容:

 =MATCH(MID(A1,FIND(" ",A1)+1,3),{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},0) 

如果你使用这个公式,一定要相应地调整最后的公式。

步骤3)拉出日子

 =TRIM(MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,2)) 

所以上面的公式find第二个空格,然后开始拉动,然后下一个字符总共两个字符。 现在因为我不知道这个月的第一个月是01还是1,我可能会抓住1之后的空格。trimfunction消除了多余的空间。

步骤4)build立date

Excel中的DATE函数需要YEAR,MONTH和DAY,并将这些值转换为exceldate序列。 在这种情况下,我们将转换:

 =DATE(year,month,day) 

通过从上面的我们的等式代入以下:

 =DATE(right(A1,4),MONTH(DATEVALUE(MID(A1,FIND(" ",A1)+1,FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1)-1)&"-"&1)),TRIM(MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,2))) 

步骤5)拉开时间

由于没有AM / PM指标,我将假设这是一个24小时制的时钟。 您可以拉出小时,分钟和秒钟的时间,类似于DATEfunction,使用TIMEfunction。 然而,你的时间是在一个不同的可识别的格式,所以让我们一次拉所有的时间。 我们也会欺骗一下,因为我们可以通过你的格式来说明在这个时候所有的单个数字都有一个前导零。 这意味着你的时间string是一个8的常量。而不是find第三个空间,尽可能使嵌套find语句真的很难看,我们将find第一个空间:

 =MID(A1,FIND(":",A1)-2,8) 

注意,我们从第一个字符开始返回2个字符,然后从这个位置拉出总共8个字符。 现在我们把它作为一个很好的时间string,我们可以使用TIMEVALUE函数将其转换为时间,如下所示:

 =TIMEVALUE(MID(A1,FIND(":",A1)-2,8)) 

第6步)结合date和时间

由于在Excel中date是以整数存储的,而时间是以十进制的forms存储的,我们可以简单地将两者加在一起,并将date和时间存储在同一个单元格中。 我们将通过以下方式来实现

 =DATE(right(A1,4),MONTH(DATEVALUE(MID(A1,FIND(" ",A1)+1,FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1)-1)&"-"&1)),TRIM(MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,2)))+TIMEVALUE(MID(A1,FIND(":",A1)-2,8)) 

步骤7)格式化细胞

因此,对于具有公式的单元格,而不是GENERAL格式,请selectCUSTOM格式。 在您可以input的栏中input以下显示格式:

 dd/mm/yyyy hh:mm:ss 

备用date方法

如果步骤2中的公式适用于您,则可以使用以下作为date公式:

 =DATEVALUE(TRIM(MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,2))&"-"&A3&"-"&RIGHT(A1,4)) 

并且您的组合date时间公式将是:

 =DATEVALUE(TRIM(MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,2))&"-"&A3&"-"&RIGHT(A1,4))+TIMEVALUE(MID(A1,FIND(":",A1)-2,8)) 

配方使用

文本/string函数

  • 修剪

date/时间函数

  • date
  • DATEVALUE
  • TIMEVALUE