首页 > 其他分享 >计算两个时间相差的月数

计算两个时间相差的月数

时间:2022-12-28 08:55:49浏览次数:37  
标签:两个 String get int result 计算 c2 相差 Calendar

public class Test {

    /**
     * 日期格式化:yyyy-MM-dd
     */
    public static final String DATE_FORMAT_STR = "yyyy-MM-dd";
/** * 获取两个日期相差多少个月 * @param dateOne 时间1-小的时间 * @param dateTwo 时间2-大的时间 * @return */ public static int getMonthSpace(String dateOne, String dateTwo){ int result = 0; try { SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_STR); Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(sdf.parse(dateOne)); c2.setTime(sdf.parse(dateTwo)); int i = c2.get(Calendar.YEAR)-c1.get(Calendar.YEAR); int month = 0; if (i<0) { month = -i * 12; }else if(i>0) { month = i * 12; } result = (c2.get(Calendar.MONDAY) - c1.get(Calendar.MONTH)) + month; } catch (ParseException e) { e.printStackTrace(); } return result == 0 ? 1 : Math.abs(result); } public static void main(String[] args) {       //获取系统当前时间 2022-06-28 String systemDate = DateUtil.format(new Date(),DATE_FORMAT_STR);
      // 控制台打印结果:6       System.out.println(getMonthSpace( systemDate,"2023-06-28"));   } }

 

标签:两个,String,get,int,result,计算,c2,相差,Calendar
From: https://www.cnblogs.com/songweipeng/p/17009379.html

相关文章

  • 两个线程交替打印/卖票问题?(5种方法)
    引言   设置两个窗口(线程),交替卖出100张票,一个线程卖寄数,一个线程卖偶数,要求交替卖出,最后数据1,2,,3,4,5,6......1001/**2*@ClassNameAlternatePrintThread......
  • 详解数据链路层-介质访问控制【王道计算机网络笔记】
    数据传输使用的两种链路点对点链路:两个相邻结点通过一个链路相连,没有第三者。应用:PPP协议,常用于广域网。例如打电话广播式链路:所有主机共享通信介质。应用:早期总线以太......
  • 计算机发展史人物篇之查尔斯巴贝奇
    查尔斯·巴贝奇(CharlesBabbage,1791年12月26日—1871年10月18日)是一名英国数学家、发明家、科学家,科学管理的先驱者,出生于一个富有的银行家的家庭,曾就读于剑桥大学三一学院......
  • 计算机网络复习——概要
    第一章概述什么是协议和体系结构?了解网络应用的两种模型:C/S和P2P模型什么是资源子网和通信子网?各种网络设备(转发器、集线器、网桥、路由器等)所工作的层次和基本特性......
  • 一个核心交换机如何安全隔离两个网络?
    网络描述:客户内部电脑分为内网和互联网;由于预算有限,只有一台核心交换机,分别连接互联网和集团内网;客户想要内网交换机的终端只能访问集团内网,接互联网的交换机只访问互联网,看......
  • 使用 QuTrunk+Amazon ParallelCluster3 进行并行计算
    1.丘秉宜;2.邵伟;3.黄文;4.郭梦杰;5.刘利;6.刘波1.亚马逊云科技Hero;2.启科开发者生态负责人;3.启科DEVOPS工程师;4.启科量子资深研发工程师;5和;6.C++高级开发工程师1、概述Qu......
  • 计算1
    #-*-coding:utf-8-*importctypesimportstructimporttimefromPyQt5importQtCore,QtGuifromPyQt5.QtCoreimportQEventLoop,QTimer,QThreadfromPyQt5.QtGuii......
  • 那些年,我们一起刷过的计算机视觉比赛
    前言计算机视觉是一个对操作性和实战性要求都非常高的领域,对于许多在校的本科生/研究生,接触的项目并不算多,甚至非常单一,有的导师连项目都没有,这个时候想要深入CV领域几乎不......
  • k03_计算机基础_dos命令行
    一、Windows自带的命令行操作界面(DOS命令)二、简介在学习java的时候,我们需要下载jdk,然后安装jdk,然后配置环境变量,然后会用命令行窗口检验是否安装成功,尽管最新的jdk版本......
  • MIT——6.828:操作系统工程——第1章:实验一:启动计算机
    本实验分为三个部分。第一部分:熟悉x86汇编语言、QEMUx86模拟器和PC的开机引导程序。第二部分:检查我们的6.828内核的引导装载程序。第三部分:深入研究了我们的6.......