java怎样判断一段时间内有几个月,并且这几个月分别有多少天? 忘高手指教

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎样判断一段时间内有几个月,并且这几个月分别有多少天? 忘高手指教相关的知识,希望对你有一定的参考价值。

给个类似的代码例子看看,自己修改下里面的几行代码就可以了
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
/*得到当前月的前几个月的方法*/
public class Timecs
private static String[] hzYearMonth = new String[6];// 汉字格式日期
private static String[] zcYc = new String[6];//
private static String[] zcYd = new String[6];//
public static void getYearMonth()
int leng = 0;
/* 这里的i初始值,你可以根据自己的需要来改变,也可以变成变量 */
for (int i = -6; i < 0; i++)
Calendar calendar = Calendar.getInstance();
/*
* i是正数就是后i月,i是负数就是前i月,i是几就加几月,这里的例子是前6个月   *
*/
calendar.add(Calendar.DATE, i); // 得到某一天
calendar.add(Calendar.MONTH, i); // 得到某一个月
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;// 这里月要加1
/* 下面的是根据我自己需要用到的日期格式加的一些小处理 */
String dateTime = year + "-" + month;
dateTime += "-" + getDayCount(dateTime);
hzYearMonth[leng] = year + "年" + month + "月";
zcYc[leng] = year + "-" + month + "-1";
zcYd[leng] = dateTime;
System.out.println(hzYearMonth[leng] + "*-*-*" + zcYc[leng]
+ "*-*-*" + zcYd[leng] + " 当月天数" + getDayCount(dateTime));
leng++;


/* 给一个yyyy-MM(2012-01)日期格式,判断出所传月一共多少天 */
public static int getDayCount(String dateTime)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
/*
* GregorianCalendar 是 Calendar 的一个具体子类, 提供了世界上大多数国家/地区使用的标准日历系统。
*/
Calendar calendar = new GregorianCalendar();
try
/* 使用给定的 Date 设置此 Calendar 的时间 */
calendar.setTime(sdf.parse(dateTime));
catch (ParseException e)
// TODO Auto-generated catch block
e.printStackTrace();

/* 返回此日历字段可能具有的最大值。DAY_OF_MONTH 用于指示一个月的某天 */
int day = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
return day;

public static void main(String[] args) throws ParseException
getYearMonth();

参考技术A 用calendar类来判断吧。 参考技术B calendar

停更的这几个月,我在忙什么

停更的这几个月,我在忙什么

Hi,大家好久不见。很抱歉一连停更了好几个月,停更的这几个月,我在忙什么呢。

离职篇

没错,我从顺丰科技离职了。606天,毕业后的第一份工作,两年后终于还是离开了梦开始的地方,告别了可爱有趣的同事朋友们。年前经过多番考虑后决定要回去建设家乡了,于是便开始了漫漫的春招求职之路。

我是土生土长的河南人,之前在郑州读的大学,所以春招那会投了郑州数得上来的差不多十来家公司。郑州不像互联网一线城市,互联网氛围相对来说比较匮乏,好的互联网企业比较少,比较好的岗位更是少之又少,再加上今年年初疫情相对比较严重,导致我找工作的整个过程并不太顺利。

过年那段时间因为深圳有疫情,我也就没回老家过年,所以就有了更多的时间复习准备面试。差不多准备了两三周,我就投简历然后开始面试了。面了两周左右,拿了几家公司的offer,但是我不太满意。后来又面了几家国企,但是国企的流程相对私企来说,流程会比较慢,所以当时一直在观望,骑驴找马。有一家国企的流程相对来说比较快,通过了两轮技术面和一轮笔试后,就开始提交资料做背景调查。这家国企相对于其他的offer来说,我还是比较满意的,在郑州属于为数不多的Top公司了。但是国企的入职流程会比较慢,当时我的离职日期也快要到了,所以当时也很着急。在跟Hr沟通确认过入职的事情之后,我就办完离职手续收拾收拾行李准备回家了。

居家隔离篇

万万没想到,因为是从中高风险地区返郑,刚下高铁就被通知需要居家隔离14天。健康码被赋红码住酒店也住不了,无奈我只好匆忙的租了房子,前几天晚上借用了中介的被子睡了几个晚上,现在想想都觉得好惨,哈哈哈。租的房子装修好后还没住过人,收拾了好几天后终于有了烟火气息,我的厨艺在隔离期间也飞速提升。


入职篇

隔离结束后,做完入职体检后就赶紧去公司入职了。公司刚好在母校的隔壁,兜兜转转还是回到了原点。入职第二天刚好赶上放清明节假期,算起来今天刚好入职满一周,最近一周都在疯狂的申请各种平台权限和熟悉公司的各种流程,也好长时间没写代码了,感觉手都生疏了。停更了好几个月,也是时候复更了。

立个flag,每周至少更新一次!!!

面经篇

聊了这么多,也是时候上干货了,这个是我春招面经的清单,另外本人的经验也有限,不足之处也希望能与大家多多交流。

xxxx公司

  • SpringBoot加载流程、SpringCloud组件

  • BeanFactory与FactoryBean的区别

  • MySQL底层存储

  • ES倒排索引

  • JMM内存模型

  • 单例模式的几种实现方式

  • Kafka、RabbitMQ、RocketMQ的区别

xxxx公司

  • JVM内存模型
  • 锁降级
  • MySQL性能调优的方式有哪些
  • MySQL索引为什么最左原则会失效
  • 分布式锁

xxxx公司

  • JVM内存模型
  • 同步锁和异步锁
  • 几种线程池、线程池的使用场景、线程池的创建方法及参数
  • Git和SVN的区别、Git的使用
  • Spring(IOC、DI、AOP)
  • BIO、NIO、AIO的区别
  • Kafka(ACK应答机制)
  • 消息队列的作用
  • Hadoop生态圈的计算组件
  • 从0-1搭建项目架构

xxxx公司

  • Spring(AOP、IOC)
  • Redis原理(原理及缓存穿透、缓存击穿、缓存雪崩)
  • MyBatis原理(执行过程、用法)
  • Zookeeper原理
  • 设计模式
  • 消息队列

xxxx公司

  • Dubbo架构搭建
  • synchronized的使用场景及方法
  • 可重入锁、不可重入锁
  • Redis(原理、RDB机制及AOF机制的使用场景、缓存击穿、使用Redis计算并发数QPS的方法、一致性Hash算法-Murmurhash算法)
  • SpringMVC的执行流程
  • SpringBoot注解@SpringBootApplication中的组合注解有哪些
  • Spring事务传播机制
  • JVM内存模型、堆内存中分代回收机制、垃圾回收算法、OOM和栈溢出的场景及定位方法
  • 分布式锁的几种实现方式(SETNX的使用)
  • MySQL索引失效的几种情况

xxxx公司

  • 场景题:20W的数据实现Excel导入功能
  • Spring中对象的创建过程
  • 如何解决Spring循环依赖
  • AQS和CAS的关系
  • 分布式事务
  • synchronized锁升级
  • 分布式与微服务的优缺点

xxxx公司一面

  • 场景题:请求调用服务A、服务B、服务C获取三个结果后,需要对三个结果进行逻辑处理后再返回给用户(如何使用JUC来实现)
  • MySQL索引最左原则的原因、B+树索引的数据结构
  • 如何快速定位问题优化QPS
  • CMS垃圾回收器和G1垃圾回收器的原理
  • MySQL创建索引的场景,哪些字段适合建索引,哪些不适合建索引
  • 组合索引和单个索引的特点

xxxx公司

  • Redis的常用数据结构、Redis的持久化机制
  • Spring的事务传播机制
  • 事务处理有哪些方式
  • ArrayBlockingQueue和LinkedBlockingQueue的原理(ArrayBlockingQueue需要加一个锁,LinkedBlockingQueue需要加两个锁)
  • 线程池中的某一个线程报错,线程池的容错机制
  • redis命令Lrange的使用
  • 使用wait()的前置条件
  • MyBatis映射文件中不指定namespace会发生什么
  • SpringBoot打包后的包结构
  • Spring、SpringMVC、SpringBoot、SpringCloud的区别

xxxx公司

  • SpringMVC的执行流程
  • SpringBoot的使用
  • Spring、SpringMVC的区别和特点
  • SpringBoot的启动方式
  • Redis的持久化机制以及两种持久化机制的使用场景
  • Zookeeper的作用、读写原理、如何使用Zookeeper实现分布式锁

xxxx公司二面

  • 值传递和引用传递
  • MySQL如何选择创建索引
  • MySQL事务隔离级别、默认隔离级别
  • CAS原理以及导致的问题
  • volatile关键字的作用
  • JVM内存模型、常见垃圾回收器、JDK8默认垃圾回收器
  • Kafka消费者消费方式
  • 产生死锁的条件以及避免死锁的条件

xxxx公司

  • 开窗函数
  • MySQL调优
  • 分页插件的使用

xxxx公司二面

  • JVM内存模型
  • GIT和SVN的区别
  • SSM项目从0-1的相关配置
  • SpringMVC常用的控制器
  • SpringMVC执行流程
  • Spring和SpringMVC的区别
  • SpringMVC是单例还是非单例
  • SpringBoot的javaConfig配置
  • 垃圾回收时,判断对象是否已死的算法
  • MyBatis缓存

xxxx公司二面

  • Spring和SpringMVC的区别
  • MyBatis中#和$的区别
  • SpringMVC的执行流程
    C的区别
  • SpringMVC是单例还是非单例
  • SpringBoot的javaConfig配置
  • 垃圾回收时,判断对象是否已死的算法
  • MyBatis缓存

xxxx公司二面

  • Spring和SpringMVC的区别
  • MyBatis中#和$的区别
  • SpringMVC的执行流程
  • 如何优化高并发接口的QPS和内部逻辑(需要用到哪些设计模式)

以上是关于java怎样判断一段时间内有几个月,并且这几个月分别有多少天? 忘高手指教的主要内容,如果未能解决你的问题,请参考以下文章

js 判断一段时间里有几个工作日

Python中如何判断一个字符串中有几个空格

迷失的几个月

几种统计一个二进制数内有几个1的方法

谁会这几个java判断题?

编写java程序:输入一个字符串,判断有几个英文字母,有几个数字,有几个其它的字符