0
点赞
收藏
分享

微信扫一扫

格式化日期/时间为字符串

在前面的章节中,我们学习了如何将字符串转换为日期和日期/时间对象。在这一节中,

将会学到相反的操作:根据特定的模板将日期和日期/时间对象转换回字符串。

一旦创建了一个日期对象,每次打印时,它总是以标准格式表示:

my_date

## [1] "2016-02-10"

我们可以使用 as.character( )将日期转换为标准形式的字符串:

date_text <- as.character(my_date)

date_text

## [1] "2016-02-10"

其结果看起来和 my_date 一样,但是这个字符串只是一个纯文本,不再支持日期计算:

date_text +1

## Error in date_text + 1: 二进列运算符中有非数值参数

有时候,我们需要以非标准的方式格式化日期:

as.character(my_date, format = "%Y.%m.%d")

## [1] "2016.02.10"

事实上,as.character( )在后台直接调用了 format( )。我们可以直接通过

format( )得到相同的结果,而且通常也推荐这样做:

format(my_date, "%Y.%m.%d")

## [1] "2016.02.10"

相同的操作也适用于日期/时间对象。我们可以进一步定制模板,将更多文本而不只是

占位符包括进来:

my_time

## [1] "2016-02-10 10:25:31 CST"

format(my_time, "date: %Y-%m-%d, time: %H:%M:%S")

## [1] "date: 2016-02-10, time: 10:25:31"

小技巧:

占位符的格式远比我们提到的多。想要获取更多信息可

以输入?strptime 阅读相关文档。

有很多扩展包可以使我们更加简便地处理日期和时间。推荐 lubridate 扩展包

(https://cran.r-project.org/web/packages/lubridate),因为它提供了几乎所有处理日期和时间对

象需要的函数。




举报

相关推荐

0 条评论