增加一天和减少一天分别采用了两种方法,喜欢那种用哪种,代码如下:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestTime {
public static void main(String[] args) {
String d = "2004-1-1";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
/**
* 加一天
*/
try {
Date dd = df.parse(d);
Calendar calendar = Calendar.getInstance();
calendar.setTime(dd);
calendar.add(Calendar.DAY_OF_MONTH, 1);//加一天
System.out.println("增加一天之后:" + df.format(calendar.getTime()));
} catch (ParseException e) {
e.printStackTrace();
}
/**
* 减一天
*/
try {
long dif = df.parse(d).getTime()-86400*1000;//减一天
Date date=new Date();
date.setTime(dif);
System.out.println("减少一天之后:" + df.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
输出地结果:
增加一天之后:2004-01-02
减少一天之后:2003-12-31
注:
有的人说增加一天和减少一天可以用一个方法就实现了:
calendar.roll(Calendar.DAY_OF_MONTH, 1);//加一天
calendar.roll(Calendar.DAY_OF_MONTH, -1);//减一天
一定不要用这个方法,经试验加一天的没问题,减一天的会出现一下问题:当时间为“2013-2-1”时,calendar.roll(Calendar.DAY_OF_MONTH, -1)得到结果的是“2013-2-28”,即这个月的月末一天,换句话说他只能够更改“yyyy-MM-dd”中的“dd”。api的解释是:向指定日历字段添加指定(有符号的)时间量,不更改更大的字段。负的时间量意味着向下滚动。
相关推荐
扩展String功能方法:一直好忙,没有时间写属于自己的东西,但是看着一天天不更新心情也不是个滋味,只有从网上收罗一些比较好的东东贴上。
2)string类经常用到find find_first_of find_first_not_of find_last_of find_last_not_of substr replace等,以及联合使用来达到java中的split和trim 3) 有些函数返回的是MyString& 、Char& 等(引用),MyString、...
直到某一天,我做了一个处理绝对路径的题目。 首先,我要把‘/’作为分隔符,把输入字符串split一下。下面是我的代码: string inputString(/home/fun/./../code/); stringstream ss(inputString); string tmp; ...
private static void 某天的起始截止时间(DateTime 哪一天, out DateTime 起始时间, out DateTime 截止时间) { var 日期 = 哪一天.Date; 起始时间=Convert.ToDateTime(DateTime.Now.ToString(“yyyy-MM-dd 00:00:00...
string、long、date的相互转换,获取,传入日期是周几、传入日期最后一天、传入日期当月所有日期、2日期内的所有日期
2.比较传入时间与当前时间前一天的大小,传入时间在后返回true,传入时间在前返回false isWithinOneDay(String dateStr); 3.String转Date stringToDate(String dateStr, String format); 4.Date转String date...
isSameDay : 判断是否同一天 isLeapYear : 判断是否闰年 getWeek, getWeekIndex : 获取星期 getWeekOfMonth : 获取月份中的第几周 getWeekOfYear : 获取年份中的第几周 getChineseZodiac : 获取生肖 getZodiac : ...
内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关的方法,如:获取指定日期几天后的日期;...
Date和String的相互转换 得到指定日期所在周的星期几的日期 获取指定年的第几周的最后一天日期 获取指定年的第几周的第一天日期 获取指定日期为当前年的第几周 获取指定日期中的月份 获得当前月的第一天 获得当前月...
超全面javaweb教程28天-day3_01_js的string对象一
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃前一天剩下的一半零一个。到第10天早上再想吃时,见只剩一个桃子了。求第一天共...
3. 获取某一天的零点 public static ZonedDateTime getTodayZonedDayBegin(int offset) 4. 指定某一天的零点 public static ZonedDateTime createDayBegin(int year,int month,int day,int offset) 5. 从时间戳转换 ...
* 获得所在星期的第一天 */ public static Date getFirstDateByWeek(Date date) { Calendar now = Calendar.getInstance(); now.setTime(date); int today = now.get(Calendar.DAY_OF_WEEK); int ...
//减去一天,变为当月最后一天 str=sdf.format(lastDate.getTime()); return str; } /** * 得到现在小时 */ public static String getHour() { Date currentTime = new Date(); SimpleDateFormat ...
* 返回指定月份的最后一天 * @param year * @param month * @return */ public static int getLastDayOfMonth(int year, int month){ } /** * 计算两个日期间的秒数 * @param beginDate * @...
System.out.println("当前时间的前一天为:"+LocalDateTimeUtil.obtainDay(1,1)); System.out.println("当前时间的后一天为:"+LocalDateTimeUtil.obtainDay(2,1)); System.out.println("当前时间的前一小时为:...
使指定日期向前走一天,变成“明天”的日期 使日期倒一天 判断平年闰年 计算某月的天数 获取当天凌晨的秒数 将日期格式化成友好的字符串:几分钟前、几小时前、几天前、几月前、几年前、刚刚 将日期以yyyy-MM-dd HH...
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出... 如何获取某个日期是当月的最后一天 如何格式化日期
老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”...
public static String getYear() { return sdfYear.format(new Date()); } /** * 获取YYYY-MM-DD格式 * @return */ public static String getDay() { return sdfDay.format(new Date()); } /** * ...