如何编写可适配任意日期的R语言星期输出代码?
解决方案
完整可运行代码
# 获取今日、昨日、明日的日期对象 today <- Sys.Date() yesterday <- today - 1 tomorrow <- today + 1 # 提取对应日期的星期名称 today_day <- weekdays(today) yesterday_day <- weekdays(yesterday) tomorrow_day <- weekdays(tomorrow) # 拼接成目标格式的字符串并输出 result <- paste("今天是", today_day, "。昨天是", yesterday_day, "。明天是", tomorrow_day, "。", sep = "") print(result)
代码逐行解释
Sys.Date():自动获取当前系统的日期,返回标准的Date类型对象,无需手动输入日期,确保代码在任意日期都能正常运行。today - 1/today + 1:R语言中Date类型支持直接加减整数,每加减1代表增减一天,这样就能快速得到昨天和明天的日期。weekdays():专门用于提取Date对象对应的星期名称,在中文系统环境下会直接返回“星期一”“星期五”这类中文表述,无需额外配置。paste():用于拼接多个字符串/变量,sep = ""参数指定拼接时不添加默认的空格分隔符,保证输出的句子格式符合要求。
简化版代码(更紧凑)
如果觉得变量赋值步骤繁琐,也可以直接嵌套函数调用,减少代码行数:
print(paste( "今天是", weekdays(Sys.Date()), "。", "昨天是", weekdays(Sys.Date()-1), "。", "明天是", weekdays(Sys.Date()+1), "。", sep = "" ))
内容的提问来源于stack exchange,提问作者zadel
相关产品推荐
相关产品推荐

