获取当月的开始日期

时间:2012-11-06 09:23:45

标签: r datetime

我想在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

有没有简单的方法可以做到这一点?

5 个答案:

答案 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(也适用于secminhourmonyear等。

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")))