📌  相关文章
📜  如何在 R 中将日期转换为数字?

📅  最后修改于: 2022-05-13 01:55:15.128000             🧑  作者: Mango

如何在 R 中将日期转换为数字?

在本文中,我们将讨论如何在 R 编程语言中将日期转换为数字。

方法一:使用 as.numeric()

此函数用于将日期转换为数字

语法

as.numeric(date)

其中日期是输入日期。

示例

R
data = as.POSIXct("1/1/2021  1:05:00 AM",
                  format="%m/%d/%Y  %H:%M:%S %p")
  
# display
print(data)
  
# convert to numeric
print(as.numeric(data))


R
data = as.POSIXct("1/1/2021  1:05:00 AM", 
                  format="%m/%d/%Y  %H:%M:%S %p")
  
# display
print(data)
  
# convert to numeric
print(as.numeric(data))
  
# convert to numeric and get days
print(as.numeric(data)/86400)
  
# convert to numeric and get years
print((as.numeric(data)/86400)/365)


R
# load the library
library("lubridate")
  
# create date
data = as.POSIXct("1/1/2021  1:05:00 AM", 
                  format="%m/%d/%Y  %H:%M:%S %p")
  
# display
print(data)
  
# get the day
print(day(data))
  
# get the month
print(month(data))
  
# get the year
print(year(data))
  
# get the hour
print(hour(data))
  
# get the minute
print(minute(data))
  
# get the second
print(second(data))


输出

[1] "2021-01-01 01:05:00 UTC"
[1] 1609463100

如果我们想从数字中得到天数,将数字除以 86400。

as.numeric(date)/86400

如果我们想得到从日期开始的年数,那么将它除以 365。

as.numeric(date)/86400/365

示例:将日期转换为日和年的 R 程序

R

data = as.POSIXct("1/1/2021  1:05:00 AM", 
                  format="%m/%d/%Y  %H:%M:%S %p")
  
# display
print(data)
  
# convert to numeric
print(as.numeric(data))
  
# convert to numeric and get days
print(as.numeric(data)/86400)
  
# convert to numeric and get years
print((as.numeric(data)/86400)/365)

输出

[1] "2021-01-01 01:05:00 UTC"
[1] 1609463100
[1] 18628.05
[1] 51.03574

方法 2:使用 lubridate 包中的函数

在这里,通过使用这个模块,我们可以分别获取整数格式的日、月、年、时、分、秒。

语法

day:
day(date)

month:
month(date)

year:
year(date)

hour:
hour(date)

minute:
minute(date)

second:
second(date)

示例

R

# load the library
library("lubridate")
  
# create date
data = as.POSIXct("1/1/2021  1:05:00 AM", 
                  format="%m/%d/%Y  %H:%M:%S %p")
  
# display
print(data)
  
# get the day
print(day(data))
  
# get the month
print(month(data))
  
# get the year
print(year(data))
  
# get the hour
print(hour(data))
  
# get the minute
print(minute(data))
  
# get the second
print(second(data))

输出

[1] "2021-01-01 01:05:00 UTC"
[1] 1
[1] 1
[1] 2021
[1] 1
[1] 5
[1] 0