java的date减一天(java里面 date类型减去date类型怎么得到天数)
本文目录
- java里面 date类型减去date类型怎么得到天数
- java的前台传来一个Date日期的值,我想做的是:让这个日期减一天,比如页面上传来的是2013-1-1,那么减一天为
- 关于java中java.util.Date(急)
- java 两个日期相减的怎么做
- java 获取本机当前时间并对小时任意加减
- java中日期类型的数据(yyyy-MM-dd HH:mm:ss)减一天怎么写
java里面 date类型减去date类型怎么得到天数
看你要得到的是什么天数。如果是带时间的且24小时算一天:Calendar c = Calendar.getInstance();c.setTime(d1);long l1 = c.getTimeInMillis();c.setTime(d2);long l2 = c.getTimeInMillis();return (l2 - l1) / (1000 * 60 * 60 * 24);或者你是想得到除去时间的日期差别:Calendar c = Calendar.getInstance();c.setTime(d1);c.set(Calendar.MINUTE, 0);c.set(Calendar.SECOND, 0);c.set(Calendar.MILLISECOND, 0);long l1 = c.getTimeInMillis();c.setTime(d2);c.set(Calendar.MINUTE, 0);c.set(Calendar.SECOND, 0);c.set(Calendar.MILLISECOND, 0);long l2 = c.getTimeInMillis();return (l2 - l1) / (1000 * 60 * 60 * 24);恩,思想简单了一把。用方法2吧。返回肯定整数。
java的前台传来一个Date日期的值,我想做的是:让这个日期减一天,比如页面上传来的是2013-1-1,那么减一天为
最简单的做法是: // 假如这是前台传来的Date时间Date dt;// 1天的毫秒数long oneDayTime = 1000*3600*24;// 这个now就是减1天的时间了Date nowTime = new Date(dt.getTime() - oneDayTime);原理就是用Date的毫秒数做运算,最后再将运算出来的毫秒数再转换成时间。
关于java中java.util.Date(急)
这里建议用Calendar来完成,因为Calendar可以对日期进行计算。
代码写的比较丑,你再调整调整,俺程序员做的不是很成功。
public static String getLastMonthDay(String data)
{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//设定日期
ParsePosition pos = new ParsePosition(0);
Calendar calendar=Calendar.getInstance();
calendar.setTime(formatter.parse(data,pos));
calendar.add(Calendar.MONTH, -1);//月份减1
int maxday=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//得到当前月份的最大日期
calendar.set(Calendar.DAY_OF_MONTH, maxday);
return formatter.format(calendar.getTime());
}
public static void main(String args)
{
System.out.println(getLastMonthDay("2014-05-03"));
System.out.println(getLastMonthDay("2013-05-03"));
System.out.println(getLastMonthDay("2014-03-01"));
}
java 两个日期相减的怎么做
对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转换,比如你想显示相差的秒数,就除以1000,以此类推,翠花,上代码:
/* 随便选两个时间 */ String d1 = "2015-04-17"; String d2 = "2015-06-17"; /* 先转成毫秒并求差 */ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); long m = sdf.parse(d2).getTime() - sdf.parse(d1).getTime(); /* 根据你的需求进行单位转换 */ System.out.println("相差毫秒数:"+ m ); System.out.println("相差天数:"+ ( m / (1000 * 60 * 60 * 24) ) );
要注意的地方:
时间格式可能有很多种,比如20150611或者2015年6月11日等等。所以你需要以对应的方式来初始化SimpleDateFormat对象。
例如20150611,就要写成:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat类是非线程安全的,所以在高并发下需要加同步锁,否则会出现灵异事件。
java 获取本机当前时间并对小时任意加减
代码如下:
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
publicclassDateTestUtil{
publicstaticvoidmain(Stringargs)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中日期类型的数据(yyyy-MM-dd HH:mm:ss)减一天怎么写
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date d = df.parse("2011-10-12 12:12:12"); Calendar cal=Calendar.getInstance();cal.setTime(d);cal.add(Calendar.DATE, -1); //减1天System.out.println(df.format(cal.getTime()));结果:2011-10-11 12:12:12
更多文章:
qq透明头像生成器软件下载(如何把qq头像弄成透明,透明头像生成器)
2024年6月11日 02:21
征途2手游官网下载(征途2手游怎么在电脑上玩 征途2手游电脑版使用教程)
2024年4月8日 12:30
office2007兼容包(Microsoft Office Word 2007 文件格式兼容包怎样使用)
2024年7月7日 12:30
photoshop在线版(photoshop软件有哪些版本)
2024年5月23日 13:00
手机号码实名认证手机被限制在手机上怎样操作?怎样注册腾讯手机管家企业号码认证
2024年6月24日 07:55