代码如下:

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
System.out.println("当前日期:"+sf.format(c.getTime()));
c.add(Calendar.DAY_OF_MONTH, 1);
System.out.println("增加一天后日期:"+sf.format(c.getTime()));
//打印结果
//当前日期: 2013-06-18
//增加一天后日期 : 2013-06-19

Java Calendar获取年、月、日、时间

 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));    //获取东八区时间

int year = c.get(Calendar.YEAR);    //获取年
int month = c.get(Calendar.MONTH) + 1; //获取月份,0表示1月份
int day = c.get(Calendar.DAY_OF_MONTH); //获取当前天数
int first = c.getActualMinimum(c.DAY_OF_MONTH); //获取本月最小天数
int last = c.getActualMaximum(c.DAY_OF_MONTH); //获取本月最大天数
int time = c.get(Calendar.HOUR_OF_DAY); //获取当前小时
int min = c.get(Calendar.MINUTE); //获取当前分钟
int xx = c.get(Calendar.SECOND); //获取当前秒 SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String curDate = s.format(c.getTime()); //当前日期
System.out.println("当前时间:"+year + "-" + month + "-"+ day + " "+time + ":" + min +":" + xx);
System.out.println("第一天和最后天:" + first +"," + last);
System.out.println("当前日期curDate====:" + curDate);

输出结果:

当前时间:2012-9-25 22:50:54 第一天和最后天:1,30

当前日期curDate:2012-09-25 22:50:54

Calendar的计算

c.add(Calendar.YEAR, 1);
c.add(Calendar.MONTH, 1);
c.add(Calendar.DAY_OF_MONTH, 1);
int year2 = c.get(Calendar.YEAR);
int month2 = c.get(Calendar.MONTH) + 1;
int day2 = c.get(Calendar.DAY_OF_MONTH);
int firstD = c.getActualMinimum(c.DAY_OF_MONTH);
int lastD = c.getActualMaximum(c.DAY_OF_MONTH);
System.out.println("当前时间:"+year2 + "-" + month2 + "-"+ day2 + " "+time + ":" + min +":" + xx);
System.out.println("第一天和最后天:" + firstD +"," + lastD);

输出结果:

当前时间:2013-10-26 23:4:3 第一天和最后天:1,31

获取上个月的年、月、日

Calendar c=Calendar.getInstance();
c.add(Calendar.MONTH, -1);//上个月
SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String year=String.valueOf(c.get(Calendar.YEAR));
String topDay = String.valueOf(c.getActualMinimum(Calendar.DAY_OF_MONTH));
String lastDay = String.valueOf(c.getActualMaximum(Calendar.DAY_OF_MONTH)); //上个月
String lastMonth=String.valueOf(c.get(Calendar.MONTH)+1).length()==2?String.valueOf(c.get(Calendar.MONTH)+1):"0"+String.valueOf(c.get(Calendar.MONTH)+1);
String topDayMonth=year+"-"+lastMonth+"-"+"01" + " 00:00:00";
String lastDayMonth = year+"-"+lastMonth+"-"+lastDay+ " 23:59:59";
System.out.println("###year:" + year);
System.out.println("###last month:" + lastMonth);
System.out.println("###topday:" + topDayMonth);
System.out.println("###lastday:" + lastDayMonth);

输出结果

###year:2013

###last month:04

###topday:2013-04-01 00:00:00

###lastday:2013-04-30 23:59:59

转自 http://hi.baidu.com/zzm_2007/item/3b967b1cd1586e4e2b3e2258

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class DateTest {
public static Date geLastWeekMonday(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(getThisWeekMonday(date));
cal.add(Calendar.DATE, -7);
return cal.getTime();
} public static Date getThisWeekMonday(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 获得当前日期是一个星期的第几天
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY);
// 获得当前日期是一个星期的第几天
int day = cal.get(Calendar.DAY_OF_WEEK);
// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
return cal.getTime();
} public static Date getNextWeekMonday(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(getThisWeekMonday(date));
cal.add(Calendar.DATE, 7);
return cal.getTime();
} public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse("2017-09-10");
System.out.println("今天是" + sdf.format(date));
System.out.println("上周一" + sdf.format(geLastWeekMonday(date)));
System.out.println("本周一" + sdf.format(getThisWeekMonday(date)));
System.out.println("下周一" + sdf.format(getNextWeekMonday(date)));
} catch (Exception e) {
e.printStackTrace();
}
}
}

输出结果:

今天是2017-09-10
上周一2017-08-28
本周一2017-09-04
下周一2017-09-11

java取得当前日期增加一天或多天的更多相关文章

  1. Android java取得当前日期增加一天或多天

    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstanc ...

  2. java获取当前日期时间代码总结

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值.  方法如下: 要使用 java.util.Date .获取当前时间的代码如下  代码如下 复制代码 Date date = new ...

  3. JAVA判断当前日期是节假日还是工作日

    package com.buybal.bat.util; import java.io.File; import java.io.FileInputStream; import java.io.IOE ...

  4. java 获取当前日期和特殊日期格式转换

     1.获取当前日期: package com.infomorrow.dao; import java.sql.Timestamp; import java.util.Calendar; import ...

  5. Java数据结构——二叉树 增加、删除、查询

    //二叉树系统 public class BinarySystem { public static void main(String[] args) { BinaryDomain root = nul ...

  6. Java根据当前日期获得昨天的当前日期代码实现

    代码: import java.text.SimpleDateFormat; import java.util.Date; /** * 根据当前日期获得昨天的当前日期 * @author jinghu ...

  7. Java虚拟机参数,增加虚拟机最大内存,在/etc/profile增加如下: export JAVA_OPTS="-Xms9g -Xmx9g"

    一.运行class文件 执行带main方法的class文件,Java虚拟机命令参数行为: java <CLASS文件名> 注意:CLASS文件名不要带文件后缀.class 例如: java ...

  8. Java数组动态增加容量

    Java数组初始化需要指定数组容量,但是在许多情况下需要动态扩充容量.有两种方法可以实现:1.采用ArrayList类数组,它可以在需要时自动扩容:2.采用System.arraycopy方法实现,其 ...

  9. java 给时间增加时间得到一个新的时间(日期)

    SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd") LocalDate expirationDate String exp ...

随机推荐

  1. 《Effective Java》学习笔记 —— 序列化

    Java的序列化API提供了一个框架,用来将对象编码成一个字节流(序列化,serializing),并从字节流中重新创建对象(反序列化, deserializing). 第74条 谨慎地实现Seria ...

  2. BLCR技术初探

    BLCR技术到底是什么技术?我没空和你乱扯,自己去看该官方网站的介绍:http://crd.lbl.gov/groups-depts/ftg/projects/current-projects/BLC ...

  3. Scrapy框架中的CrawlSpider

    小思考:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法二: ...

  4. 关于几个vcenter的合并心得!

    由于最近公司领导觉得公司几个vcenter管理的不同网段IP,办公的时候操作不方便,故本人把几个vcenter上面的esxi主机合并到一个里面! 通过几次测试,发现最简单的方法就是直接用一台vcent ...

  5. PAT甲题题解-1062. Talent and Virtue (25)-排序水题

    水题,分组排序即可. #include <iostream> #include <cstdio> #include <algorithm> #include < ...

  6. 20135119_涂文斌 实验三 敏捷开发与XP实践

    北京电子科技学院(BESTI) 实  验  报  告 课程: Java        班级:1351           姓名:涂文斌          学号:20135119 成绩:         ...

  7. linux内核分析--操作系统是如何工作的?

    一个简单的时间片轮转多道程序 操作系统的"两把剑":中断上下文(保存现场和恢复现场)和进程上下文的切换 源代码的分析 *使用的源代码为视频中所使用的精简内核的源代码 首先分析myp ...

  8. 数据平面可编程与SDN关系理解,以及数据平面可编程的理解

    数据平面可编程与SDN关系 狭义 广义 数据平面可编程的理解 狭义 广义

  9. 人民币-欧元预测(ARIMA算法)代码

    import pandas as pd import matplotlib.pyplot as plt import statsmodels as sm from statsmodels.graphi ...

  10. 累计进度条 PSP

    每周例行报告 本周PSP 类别 任务 开始时间 结束时间 被打断时间 总计工作时间    11月16日 代码 参与团队项目 10:05 12:12 15 112min 写博客 进度统计 21:52 2 ...