java获取某段时间内所有的周一,获取某段时间内,日期是11号,请问怎么弄啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java获取某段时间内所有的周一,获取某段时间内,日期是11号,请问怎么弄啊相关的知识,希望对你有一定的参考价值。
java获取某段时间内所有的周一,获取某段时间内,日期是11号,请问怎么弄啊,求大神指导下
public static void main(String[] args)Calendar cal = Calendar.getInstance();
//Java 中月 1 - 12 月,分别对应是 0 - 11
//设定目前日期为 2000/02/01(29天)
//cal.set(2000, 1, 1);
System.out.println("现在的时间: " + cal.getTime());
System.out.println("本月共有 : " + cal.getActualMaximum(Calendar.WEEK_OF_MONTH) + " 周");
int date_Count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
//Java 中星期 日、一、二、三、四、五、六,分别对应是 1 - 7
if ((cal.get(Calendar.DAY_OF_WEEK)) == 1)
System.out.println("今天星期天");
else if ((cal.get(Calendar.DAY_OF_WEEK)) == 2)
System.out.println("今天星期一");
else if ((cal.get(Calendar.DAY_OF_WEEK)) == 3)
System.out.println("今天星期二");
else if ((cal.get(Calendar.DAY_OF_WEEK)) == 4)
System.out.println("今天星期三");
else if ((cal.get(Calendar.DAY_OF_WEEK)) == 5)
System.out.println("今天星期四");
else if ((cal.get(Calendar.DAY_OF_WEEK)) == 6)
System.out.println("今天星期五");
else if ((cal.get(Calendar.DAY_OF_WEEK)) == 7)
System.out.println("今天星期六");
追问
我想获取2014-05-17到2014-12-18号之间所有的周一,怎么写呢?
追答Calendar cal = Calendar.getInstance();
cal.set(2014, 5, 17);
int s=0;
for(int i=0;i<365;i++)
cal.add(Calendar.DATE, i);//DATE=日
if ((cal.get(Calendar.DAY_OF_WEEK)) == 2)
s++;
if(DateUtil.formatDate("yyyy-mm-dd",cal.getTime()).equals("2014-12-18"))break;
System.out.println("总共出现过:"+s+"次星期一");
cal.add(Calendar.DATE, i)应该是+1吧,其他我都看懂了,非常感谢
追答cal.add(Calendar.DATE, i)<---
我的起始时间是2014-05-17所以你说的+1 会一直在同一个时间喔!!!
公交线路:地铁3号线 → 202路,全程
systom.out.println("你大爷");约8.3公里
1、从总统府步行约580米,到达大行宫站
2、乘坐地铁3号线,经过5站, 到达卡子门站
3、步行约330米,到达城头城站
4、乘坐202路,经过3站, 到达雨花台南大门站
5、步行约190米,到达雨花台区
参考技术B 利用Cadenlar类追问我想获取2014-05-17到2014-12-18号之间所有的周一,怎么写呢?
求某段时间内用户的连续活跃区间
drop table user_active ;
create table user_active(uid String,dt String)
row format delimited fields terminated by ',' stored as textfile;
``--原始数据
spark,2021-01-01
spark,2021-01-02
spark,2021-01-03
spark,2021-01-06
spark,2021-01-07
spark,2021-01-09
hive,2021-01-01
hive,2021-01-03
hive,2021-01-10
hive,2021-01-11
hive,2021-01-12
hive,2021-01-13
load data local inpath '/root/user_active.txt' overwrite into table user_active;
select
t.uid,
date_sub(t.dt,t.rn) as sub,
min(t.dt),
count(1),
max(t.dt)
from
(
select
uid,
dt,
row_number() over(partition by uid order by dt) as rn
from
user_active
where dt>='2021-01-01' and dt<'2021-01-30'
) t
group by uid,date_sub(t.dt,t.rn);
--子查询结果
uid dt rn
hive 2021-01-01 1
hive 2021-01-03 2
hive 2021-01-10 3
hive 2021-01-11 4
hive 2021-01-12 5
hive 2021-01-13 6
spark 2021-01-01 1
spark 2021-01-02 2
spark 2021-01-03 3
spark 2021-01-06 4
spark 2021-01-07 5
spark 2021-01-09 6
select
t.uid,
date_sub(t.dt,t.rn) as sub
from
(select
uid,
dt,
row_number() over(partition by uid order by dt) as rn
from
user_active
where dt>='2021-01-01' and dt<'2021-01-30'
) t
;
t.uid sub
hive 2020-12-31
hive 2021-01-01
hive 2021-01-07
hive 2021-01-07
hive 2021-01-07
hive 2021-01-07
spark 2020-12-31
spark 2020-12-31
spark 2020-12-31
spark 2021-01-02
spark 2021-01-02
spark 2021-01-03
--最终结果
--uid --sub --活跃开始区间 --活跃天数 -- 区间截止时间
hive 2020-12-31 2021-01-01 1 2021-01-01
hive 2021-01-01 2021-01-03 1 2021-01-03
hive 2021-01-07 2021-01-10 4 2021-01-13
spark 2020-12-31 2021-01-01 3 2021-01-03
spark 2021-01-02 2021-01-06 2 2021-01-07
spark 2021-01-03 2021-01-09 1 2021-01-09`
以上是关于java获取某段时间内所有的周一,获取某段时间内,日期是11号,请问怎么弄啊的主要内容,如果未能解决你的问题,请参考以下文章