【问题标题】:How can I retrive the time only with xlconnect?如何仅使用 xlconnect 检索时间?
【发布时间】:2014-01-23 15:16:08
【问题描述】:

我将数据保存在 .xlsx 文件中,并且在数据中将日期和时间列分开。但是,我输入代码;

data1

将数据检索到 R 中。因此,我在 R 环境中获得了时间列,并附有无意义的日期。所以 R 中的时间列看起来像 1899-12-31 16:07:11,在这种情况下,我只想要将时间作为 16:07:11 .怎么办?

【问题讨论】:

  • 为什么不直接从导入的列中提取strptime?
  • @RicardoSaporta 我该怎么做?

标签: r xlconnect


【解决方案1】:

XLConnect 使用POSIXct 表示data.frame 中的日期时间值。如果您只想提取时间分量,您可以使用strftime(your_column, format = "%H:%M:%S")(表示为character)。

您为什么会收到 1899-12-31 的一些背景信息: Excel 将日期时间值存储为十进制数字,表示自 1900-01-00 以来的天数(是的,第 00 天!-不存在)。小数天表示小时、分钟和秒。因此,十进制数字 1.0 代表 1900-01-01,数字 0.0 代表 1900-01-00。由于后者不存在,因此在 XLConnect 中它实际上表示为第 1 天的前一天,即 1899-12-31。 仅时间值在 Excel 中表示为十进制数字 0.xxx。根据上述,当在 XLConnect 中导入时,结果为 1899-12-31 HH:MM:SS。

有关 Excel 日期时间值的其他信息,请访问 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 2020-02-26
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多