如何在 r 中使用 strptime 和 strftime 函数


您可以使用 R 中的strptimestrftime函数在字符和时间对象之间进行转换。

strptime函数将字符转换为时间对象并使用以下基本语法:

 strptime(character_object, format=" %Y-%m-%d ")

strftime函数将时间对象转换为字符并使用以下基本语法:

 strftime(time_object)

以下示例展示了如何在实践中使用每个功能。

示例 1:使用 R 中的 strptime 函数

假设我们在 R 中有以下字符向量:

 #create character vector
char_data <- c("2022-01-01", "2022-01-25", "2022-02-14", "2022-03-19")

#view class of vector
class(char_data)

[1] “character”

我们可以使用strptime函数将字符转换为时间对象:

 #convert characters to time objects
time_data <- strptime(char_data, format=" %Y-%m-%d ")

#view new vector
time_data

[1] "2022-01-01 UTC" "2022-01-25 UTC" "2022-02-14 UTC" "2022-03-19 UTC"

#view class of new vector
class(time_data)

[1] “POSIXlt” “POSIXt”

可以看出,字符已经转换为时间对象。

请注意,我们还可以使用tz参数将字符转换为具有特定时区的时间对象。

例如,我们可以指定“EST”将字符转换为东部时区的时间对象:

 #convert characters to time objects in EST time zone
time_data <- strptime(char_data, format=" %Y-%m-%d ", tz=" IS ")

#view new vector
time_data

[1] "2022-01-01 EST" "2022-01-25 EST" "2022-02-14 EST" "2022-03-19 EST"

请注意,每个时间对象现在都以EST结尾,这表示东部时区。

示例 2:使用 R 中的 strftime 函数

假设我们在 R 中有以下时间对象向量:

 #create vector of time objects
time_data <- as. POSIXct (c("2022-01-01", "2022-01-25", "2022-02-14"))

#view class of vector
class(time_data)

[1] “POSIXct” “POSIXt”

我们可以使用strftime函数将时间对象转换为字符:

 #convert time objects to characters
char_data <- strftime(time_data)

#view new vector
char_data

[1] "2022-01-01" "2022-01-25" "2022-02-14"

#view class of new vector
class(char_data)

[1] “character”

我们看到时间对象已转换为字符。

其他资源

以下教程解释了如何使用 R 中的其他常用函数:

如何在 R 中使用 tabulate() 函数
如何在 R 中使用 split() 函数
如何在 R 中使用 match() 函数
如何在R中使用replicate()函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注