r - 从日期列中获取天数
问题描述
我有列-月,有几个月,我需要找出那个月的天数。
考虑到闰年,我需要找到一个月中的天数,并且该月可以到 2019 年 6 月或当前月份。逻辑应该应用于列。
MONTH no_of_days
Jan,2017
Feb,2017
Mar,2017
Apr,2017
May,2017
Jun,2017
Jul,2017
Aug,2017
Sep,2017
Oct,2017
Nov,2017
Dec,2017
结构(列表(月=结构(c(9L,7L,15L,1L,17L,13L,11L,3L,23L,21L,19L,5L,10L,8L,16L,2L,18L,14L,12L,4L, 24L, 22L, 20L, 6L), .Label = c("2017 年 4 月", "2018 年 4 月", "2017 年 8 月", "2018 年 8 月", "2017 年 12 月", "2018 年 12 月", “2017 年 2 月”、“2018 年 2 月”、“2017 年 1 月”、“2018 年 1 月”、“2017 年 7 月”、“2018 年 7 月”、“2017 年 6 月”、“2018 年 6 月”、“3 月” ,2017”、“2018 年 3 月”、“2017 年 5 月”、“2018 年 5 月”、“2017 年 11 月”、“2018 年 11 月”、“2017 年 10 月”、“2018 年 10 月”、“2017 年 9 月” ", "Sep,2018"), class = "factor")), class = "data.frame", row.names = c(NA, -24L))
解决方案
您需要首先获取该列MONTH
,Date
然后使用此处显示的任何函数来获取一个月中的天数。
as.Date(paste0(1, df$MONTH), "%d%b,%Y")
#[1] "2017-01-01" "2017-02-01" "2017-03-01" "2017-04-01" "2017-05-01" "2017-06-01"
# "2017-07-01" "2017-08-01" "2017-09-01" "2017-10-01" "2017-11-01" "2017-12-01"
Hmisc::monthDays(as.Date(paste0(1, df$MONTH), "%d%b,%Y"))
#[1] 31 28 31 30 31 30 31 31 30 31 30 31
数据
df <- structure(list(MONTH = structure(c(5L, 4L, 8L, 1L, 9L, 7L, 6L,
2L, 12L, 11L, 10L, 3L), .Label = c("Apr,2017", "Aug,2017", "Dec,2017",
"Feb,2017", "Jan,2017", "Jul,2017", "Jun,2017", "Mar,2017", "May,2017",
"Nov,2017", "Oct,2017", "Sep,2017"), class = "factor")), class =
"data.frame", row.names = c(NA, -12L))
推荐阅读
- mongodb - yii2 mongodb - 如何在集合子数组中查找元素
- calendar - 修改日历中的事件以成为重复事件
- php - 在php中将单词排列在数组中
- c# - 在 NET Standard 项目中使用 .NET 4.6.1 NuGet 包时出现问题(bin 中缺少 dll)
- react-navigation - react-navigation tabBarComponent 无法读取未定义的属性“键”
- ffmpeg - ffmpeg 检测立体声通道是否实际上是单声道
- javascript - 循环更改 SVG 填充
- bixby - “不总是返回格式化值”错误怎么办?
- c# - 如何在打印机上打印测试页?
- php - 分叉了一个 PHP tinyboard 网站,无法用中文发帖(但可以通过管理面板进行)