首页 文章

在Excel中将日期和时间转换为ISO yyyy-mm-dd

提问于
浏览
0

在Excel中打开的csv文件日期格式为“2014-08-28 09:03:19.789” .

如何在Excel中将上述内容转换为yyyy-mm-dd(2014-08-28)?

我试图将列设置为yyyy-mm-dd,但它没有改变 .

3 回答

  • 1

    您使用的是哪个版本的Excel? (我不确定这是否重要 . )

    如果您尝试在格式选择器框中键入 yyyy-mm-dd 将无效 .

    enter image description here

    您需要打开自定义格式对话框并在那里输入 yyyy-mm-dd 作为新格式 .

    enter image description here

    enter image description here

  • 1

    使用工作表单元格上的 Text to Columns 向导,或使用数据功能区 Importing 文件►获取外部数据选项卡►来自文本 .

    对于该列,选择 Space 作为分隔符,并在步骤3中选择YMD作为分隔符 . 完成后,根据需要自定义日期列和时间列的格式 .

    如果您需要在同一单元格中使用整个日期/时间戳,请在第三列中将它们一起添加,并根据需要进行格式化 .

  • 0

    无论您的系统设置如何,此解决方案都应该有效,并且基于您的日期时间值在导入到Excel中后确实是一个字符串 . 此解决方案将假设您的日期为A1

    首先剥离年份:

    =left(A1,4)
    

    然后删除月份:

    =mid(A1,6,2)
    

    然后脱掉这一天:

    =trim(mid(A1,9,2))
    

    请注意,如果您知道从单位数天开始有一个前导零,那么您可以放弃修剪功能 .

    现在,您可以使用日期函数将日期转换为Excel格式日期,并在上面的信息中取代 .

    =Date(left(A1,4),mid(A1,6,2),trim(mid(A1,9,2)))
    

    如果您的单元格格式不正确,您可能会得到一个像420303这样的整数或类似的东西它自1900年1月0日以来在Windows操作系统上的天数,就像1904年以来的Mac一样 .

    所以在你重复这个过程的时候,我建议你首先尝试选项A),如果它不起作用,你可以尝试选项B)

    选项A)用于时间快捷方式

    If you time also show trailing 0 ie 9.000 for seconds then you might get away with:
    
    =Timevalue(right(A1,12))
    

    现在,如果这对您不起作用,我们可以将12调整为:

    LEN(A1)-Find(" ",A1)
    

    现在,如果选项A和使用时间值对您不起作用,那么我们需要进入并删除小时分钟和秒,并且基本上执行与上述日期相同的过程 .

    选项B)被单位撕掉

    要花时间使用:

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

    要使用分钟:

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

    让秒使用

    =RIGHT(A1,LEN(A1)-FIND(".",A1)+3)
    

    假设您的单位数秒0-9的前导0 .

    现在,您可以将所有这些内容放入TIME公式中以获得以下内容

    =TIME(MID(A1,FIND(" ",A1)+1,2),MID(A1,FIND(":",A1)+1,2),RIGHT(A1,LEN(A1)-FIND(".",A1)+3))
    

    现在,由于整数和时间的天数被保存为十进制值,我们可以将日期和时间公式与a组合在一起,您现在应该已经准备好将整个格式应用于它 .

    =Date(left(A1,4),mid(A1,6,2),trim(mid(A1,9,2)))+TIME(MID(A1,FIND(" ",A1)+1,2),MID(A1,FIND(":",A1)+1,2),RIGHT(A1,LEN(A1)-FIND(".",A1)+3))
    

相关问题