楼主: jerryxue09
3990 8

[问答] 日期月份递增 [推广有奖]

  • 1关注
  • 0粉丝

已卖:48份资源

大专生

21%

还不是VIP/贵宾

-

威望
0
论坛币
150 个
通用积分
0.0600
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
701 点
帖子
23
精华
0
在线时间
66 小时
注册时间
2015-5-25
最后登录
2020-2-28

楼主
jerryxue09 发表于 2015-12-9 18:05:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大侠好,要实现的功能如下:比如起始日期为:2015-11-15。

该日期每月变更一次,下个月为 2015-12-15,接下来依此为:2016-01-15、2016-02-15...

主要困难为跨年份。

谢谢各位踊跃献策。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:各位大侠 接下来

回帖推荐

suimong 发表于5楼  查看完整内容

R里有好多处理时间日期的包,各擅长不同的方面。你的问题用lubridate包很好解决。

沙发
jerryxue09 发表于 2015-12-9 18:51:33

藤椅
jerryxue09 发表于 2015-12-10 11:47:28
含泪自己顶上来。自己写逻辑比较麻烦,特别是day,需要特殊处理。发帖就想问问各位大侠,有没有包直接可以处理这个问题的。

板凳
万人往LVR 在职认证  发表于 2015-12-10 12:30:34
as.Date(paste(c(2015,2016),"-",1:12,"-15",sep=""))
已有 1 人评分经验 收起 理由
李会超 + 40 这个够狠

总评分: 经验 + 40   查看全部评分

报纸
suimong 发表于 2015-12-10 14:37:54
R里有好多处理时间日期的包,各擅长不同的方面。你的问题用lubridate包很好解决。
  1. install.packages("lubridate")
  2. library(lubridate)
  3. as.Date("2015-11-15")+months(1:20)
复制代码
已有 1 人评分经验 收起 理由
李会超 + 80 精彩帖子

总评分: 经验 + 80   查看全部评分

地板
jerryxue09 发表于 2015-12-10 15:16:33
万人往LVR 发表于 2015-12-10 12:30
as.Date(paste(c(2015,2016),"-",1:12,"-15",sep=""))
多谢多谢

7
jerryxue09 发表于 2015-12-10 15:17:14
suimong 发表于 2015-12-10 14:37
R里有好多处理时间日期的包,各擅长不同的方面。你的问题用lubridate包很好解决。
嗯,这个包我也用到了,不过之前没找到你说的这种简便方法。多谢了。

8
李会超 发表于 2015-12-10 15:40:44
seq(as.Date('2015-01-15'),as.Date('2016-10-10'),'1 months')
已有 3 人评分学术水平 热心指数 信用等级 收起 理由
q2536405 + 1 + 1 + 1 精彩帖子
1雨痕1 + 1 + 1 精彩帖子
suimong + 5 + 5 精彩帖子

总评分: 学术水平 + 7  热心指数 + 7  信用等级 + 1   查看全部评分

9
suimong 发表于 2015-12-11 02:38:30
李会超 发表于 2015-12-10 15:40
seq(as.Date('2015-01-15'),as.Date('2016-10-10'),'1 months')
精彩的base R用法!seq.Date唯一的缺点是如果日期是月末,如2015-12-31,那么碰到小月如2月,4月等的时候就会自动rollover到下一个月去,而一般这种情况下我们的意图其实是取每个月的月末那一天。当然这个也不难解,用每月1号生成序列再减1就是了。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 00:51