我使用timeDate库而不是lubridate,因为它看起来更容易确定某些股票市场何时开市。给定当前日期,如何以数字形式提取前一个月?因此,如果当前日期为:“二〇二二年十二月九日前一个月= 11如果当前日期为:二○二三年一月三日前一个月= 12
timeDate
lubridate
library("timeDate") current_date <- as.timeDate(Sys.Date())
rmbxnbpk1#
library(timeDate) if (match(months(dt), month.name) == 1) 12 else match(months(dt), month.name) - 1
month.name 是一个以R为基数的对象,包含完整的月份名称。通过使用match,您可以在月份名称和月份数字之间进行转换。由于月份从1到12循环,当你从1后退时,你需要到12,而不是0,因此if语句用于这个特殊情况。
1条答案
按热度按时间rmbxnbpk1#
month.name 是一个以R为基数的对象,包含完整的月份名称。通过使用match,您可以在月份名称和月份数字之间进行转换。
由于月份从1到12循环,当你从1后退时,你需要到12,而不是0,因此if语句用于这个特殊情况。