java里如何找下一天是什么日期?

java里如何找下一天是什么日期?,第1张

1.用java.util.Calender来实现

Calendar calendar=Calendar.getInstance()

calendar.setTime(new Date())

System.out.println(calendar.get(Calendar.DAY_OF_MONTH))//今天的日期

calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1)//让日期加1

System.out.println(calendar.get(Calendar.DATE))//加1之后的日期Top

===============================================================================

2.用java.text.SimpleDateFormat和java.util.Date来实现

Date d=new Date()

SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd")

System.out.println("今天的日期:"+df.format(d))

System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - 2 * 24 * 60 * 60 * 1000)))

System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)))

===============================================================================

GregorianCalendar gc=new GregorianCalendar()

gc.setTime(new Date)

gc.add(field,value)

value为正则汪桐往后,为负则往前

field取1加1年,取2加半年,取3加一季度,取4加一周

取5加一天....

===============================================================================

/*

*java中对日期的加减 *** 作

*gc.add(1,-1)表示年份减一.

*gc.add(2,-1)表示月份减一.

*gc.add(3.-1)表示周减一.

*gc.add(5,-1)表示天减一.

*以困庆坦此类推应该可以精确的毫秒吧.没有再试.大家可以试试.

*GregorianCalendar类的add(int field,int amount)方法表示年月日加减.

*field参数表示年,月.日等差春.

*amount参数表示要加减的数量.

*

* UseDate.java 测试如下:

*/

package temp.util

import java.util.Calendar

import java.util.Date

import java.util.GregorianCalendar

import java.text.SimpleDateFormat

public class UseDate {

Date d=new Date()

GregorianCalendar gc =new GregorianCalendar()

SimpleDateFormat sf =new SimpleDateFormat("yyyy-MM-dd")

public String getYears()

{

gc.setTime(d)

gc.add(1,+1)

gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE))

return sf.format(gc.getTime())}

public String getHalfYear()

{

gc.setTime(d)

gc.add(2,+6)

gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE))

return sf.format(gc.getTime())

}

public String getQuarters()

{

gc.setTime(d)

gc.add(2,+3)

gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE))

return sf.format(gc.getTime())}

public String getLocalDate()

{

return sf.format(d)

}

public static void main(String[] args)

{

UseDate ud= new UseDate()

System.out.println(ud.getLocalDate())

System.out.println(ud.getYears())

System.out.println(ud.getHalfYear())

System.out.println(ud.getQuarters())

}

}

4 ,

GregorianCalendar gc=new GregorianCalendar()

try {

gc.setTime( new SimpleDateFormat("yyyyMM").parse("200901"))

gc.add(2, -Integer.parseInt("7"))

} catch (ParseException e) {

// TODO 自动生成された catch ブロック

e.printStackTrace()

}

System.out.println(new SimpleDateFormat("yyyyMM").format(gc.getTime()))

运行结果:200806

你的程序有问题,1、你的now时间对象始终只创建了一桥拍次;2、你野虚的for循环太简单了,你可以看下面的代码:(已经通过测试,当你运行两次时,结果可能不一样,你试试。。。)

import java.util.Date

public class Test1 {

public static void main(String[] args) {

Date now = new Date()

long oTime = now.getTime()

for (int i = 0i <1000i++)

for (int i1 = 0i1 <1000i1++)

for (int i11 = 0i11 <1000i11++)

Date now1=new Date()

long nTime = now1.getTime()

System.out.println(nTime)

System.err.println(nTime)

System.out.printf("%d\n", nTime - oTime)

}

}

倒数第五行的代敏脊羡码应该是:System.out.println(oTime)当时写重复了。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12323464.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存