java 获取本机当前时间并对小时任意加减

Python026

java 获取本机当前时间并对小时任意加减,第1张

代码如下:

importjava.text.SimpleDateFormat

importjava.util.Calendar

importjava.util.Date

publicclassDateTestUtil{

publicstaticvoidmain(String[]args)throwsException{

SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMdd")

Stringstr="20110823"

Datedt=sdf.parse(str)

CalendarrightNow=Calendar.getInstance()

rightNow.setTime(dt)

rightNow.add(Calendar.YEAR,-1)//日期减1年

rightNow.add(Calendar.MONTH,3)//日期加3个月

rightNow.add(Calendar.DAY_OF_YEAR,10)//日期加10天

Datedt1=rightNow.getTime()

StringreStr=sdf.format(dt1)

System.out.println(reStr)

}

}

注:在Calendar对象的add方法中,第二个参数为正数表示“加”,负数表示“减”。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

主要组成

Java由四方面组成:

●Java编程语言,即语法。

●Java文件格式,即各种文件夹、文件的后缀。

●Java虚拟机(JVM),即处理*.class文件的解释器。

●Java应用程序接口(JavaAPI)。

体系

Java分为三个体系,分别为JavaSE(J2SE,Java2PlatformStandardEdition,标准版),

JavaEE(J2EE,Java2Platform,EnterpriseEdition,企业版),

JavaME(J2ME,Java2PlatformMicroEdition,微型版)。

附上代码:

        Date date = new Date("2014/1/10 18:20")

        Date date2 = new Date("2014/1/11 3:5")

        long temp = date2.getTime() - date.getTime()    //相差毫秒数

        long hours = temp / 1000 / 3600                //相差小时

        long temp2 = temp % (1000 * 3600)

        long mins = temp2 / 1000 / 60                    //相差分钟数

        System.out.println("date2 与 date 相差" + hours + "小时"+ mins + "分钟")

****************************************希望能够帮助到你!************************************************

如果我的回答对你有帮助,

别忘了点击我的回答下方【选为满意答案】按钮。

谢谢!

先转成Date 再获取毫秒数来减

java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

java.util.Calendar c = Calendar.getInstance()

String date1 = "2014-10-10 00:00:00"

String date2 = "2015-10-10 00:00:00"

c.setTime(sdf.parse(date1))

int y1 = c.get(Calendar.YEAR)

int m1 = c.get(Calendar.MONTH)

c.setTime(sdf.parse(date2))

int y2 = c.get(Calendar.YEAR)

int m2 = c.get(Calendar.MONTH)

int y = Math.abs(y2 - y1)

int m = y * 12 + Math.abs(m1-m2)

long d1 = sdf.parse(date1).getTime()

long d2 = sdf.parse(date2).getTime()

int d = (int) (Math.abs(d2-d1) / (1000 * 60 * 60 * 24))

System.out.println("相差年: " + y)

System.out.println("相差月: " + m)

System.out.println("相差天: " + d)