我想在R中获取当月的开始日期 现在我使用以下
currentDate<-Sys.Date() #for getting current system date eg:2012-11-06
formatDate<-format(currentDate,"%Y-%m") #it return 2012-11
startDate<-as.Date(paste(formatDate,"-01",sep="")) #it return 2012-11-01
有没有简单的方法可以做到这一点?
答案 0 :(得分:26)
是的,使用函数cut
有一个单行代码:
cut(Sys.Date(), "month")
[1] 2012-11-01
Levels: 2012-11-01
答案 1 :(得分:12)
还有一行使用格式化功能:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
<PackageTargetFallback Condition="'$(TargetFramework)'=='Net45'">portable-net45win8+wp8+wpa81+dnxcore50</PackageTargetFallback>
</PropertyGroup>
</Project>
答案 2 :(得分:3)
lubridate
&#39; floor_date
将其保留为日期
library(lubridate)
floor_date(Sys.Date(), "month")
答案 3 :(得分:1)
使用lubridate
(也适用于sec
,min
,hour
,mon
,year
等。
library(lubridate)
dt <- Sys.Date()
day(dt) <- 01
dt
# [1] "2018-01-01"
答案 4 :(得分:0)
as.Date(gsub(" ","",paste(format(Sys.Date(),"%Y-%m"),"-01")))