You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写可适配任意日期的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 14:32:45