slz-Date中的Calendar类

Calendar(日历)

多维度的运算(年月日时分秒),维度是一个具有非常高的商业价值

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//格式化时间表示

Calendar c=new Calendar();

int year=c.get(Calendar.YEAR);//get,获得今年的年份

int year_18=c.set(Calendar.YEAR,year+18);//set.设置18年后的年份

以下代码是3个星期之前的星期2是哪一天

  • Calendar c=Calendar.getInstance();

c.add(Calendar.DAY_OF_YEAR,-21);//三个星期就是21天

int a=c.get(Calendar.DAY_OF_WEEK);//得到三个星期前的今天是这个星期的第几天

switch (a){

case 1 : c.add(Calendar.DAY_OF_WEEK,+2); break; //第一天就是星期天,所以要加2

case 2 : c.add(Calendar.DAY_OF_WEEK,+1); break;

case 3 : c.add(Calendar.DAY_OF_WEEK,+0); break;

case 4 : c.add(Calendar.DAY_OF_WEEK,-1); break;

case 5 : c.add(Calendar.DAY_OF_WEEK,-2); break;

case 6 : c.add(Calendar.DAY_OF_WEEK,-3); break;

case 7 : c.add(Calendar.DAY_OF_WEEK,-4); break;

}

String a1=c.get(Calendar.YEAR)+"";//得到修改后的年份

String b1=(c.get(Calendar.MONTH)+1)+"";//得到修改后的月份

String c1=c.get(Calendar.DATE)+"";//得到修改后的号数

String day1=a1+"-"+b1+"-"+c1;

System.out.println(day1);

以下代码是计算今天到中秋节还有几天

public long abc() {

long days=0;

try{

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

String nowtime="2017-10-04";//这个日期就是中秋节的日期

Date zqj=sdf.parse(nowtime);//把String转换成Date

Date day=new Date();

String data=sdf.format(day);

Date today=sdf.parse(data);

long l=zqj.getTime()-today.getTime();//将Date型的两个日期进行减法运算,得到的是毫秒

days=l/(24*60*60*1000);//与当前时间的间隔天数

}

catch (Exception e) {

System.out.println("发生异常"+e.getMessage());

}

return days;

}

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);          //获取当前秒

c.add(Calendar.MONTH, -1);//上个月

时间: 2024-08-05 04:29:08

slz-Date中的Calendar类的相关文章

【javaSE】Date和Calendar类

2.1 Date类及常用方法 java.util.Date类用于封装日期和时间信息.目前Date类的大多数用于进行时间分量计算的方法已经被Calendar取代. 无参的构造方法,构造的Date对象封装当前的日期和时间信息 Date date=new Date(); Date类已经重新了toString对象 getTime()方法:获取1970年1月1日距今的毫秒数,例如 long time=date.getTime(); setTime()方法通过毫秒数设置Date对象的时间,例如 date.s

Java 中常用的类:包括基本类型的包装类、Date 类、SimpleDateFormat 类、 Calendar 类、 Math 类

JAVA中的包装类 包装类里没有String,它是引用数据类型 基本类型是不能调用方法的,而其包装类具有很多方法 包装类主要提供了两大类方法: 1. 将本类型和其他基本类型进行转换的方法 2. 将字符串和本类型及包装类互相转换的方法 基本类型 对应的包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean Integer m=new Intege

Java从零开始学三十一(DATE和Calendar类)

一.Date类 Date类是一个相对较为简单的操作类,在使用中直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期 二.Calendar类 Calendar类可以将取得的时间精确到毫秒.但是,这个类本身是一个抽象类,如果要想使用一个抽象类,则必须依靠对象的多态性,通过子类进行父类的实例化操作,Calendar的子类是GregorianCalendar类. package com.pb.demo3; import java.util.Calendar; import

JAVA的Date类与Calendar类

Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date类的使用. 1.使用Date类代表当前系统时间 Date d = new Date(); System.out.println(d); 使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象,显示的结果如下: Sun Ma

java Date和Calendar类

最近在无聊的看书,遇到一编程题目,问题描述如下: 黑色星期五源于西方迷信:耶稣基督死于星期五,而13也是一个不吉利的数字.黑色星期五即该日同时是星期五又是13号,求未来几年内这样的日子. 基于该问题会涉及到java中的关于时间类的部分,故尝试通过该题目总结现阶段的java Date和calendar类的问题. 一.Date类 查阅API文档可知,Date类源于jdk1.0版本,并在jdk1.1版本中其绝大多数方法被Calendar类中方法所代替.Date类构造函数public且未abstrct,

Android中Calendar类的用法总结

Calendar是Android开发中需要获取时间时必不可少的一个工具类,通过这个类可以获得的时间信息还是很丰富的,下面做一个总结,以后使用的时候就不用总是去翻书或者查资料了. 在获取时间之前要先获得Calendar这个类的实例: [java] view plain copy private Calendar c = Calendar.getInstance(); 然后就可以用这个变量来获取时间了. 获得当前的年份 [java] view plain copy Log.i("MainActivi

JAVA学习第四十六课 — 其他对象API(二)Date类 & Calendar类(重点掌握)

Date类(重点) 开发时,会时常遇见时间显示的情况,所以必须熟练Date的应用 <span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.util.*; public class Main { public static void main(String[] args){ long l = System.currentTimeMillis();//14140798929

Java学习关于时间操作的应用类--Date类、Calendar类及其子类

Date类 Date类封装了当期时间和日期.与Java1.0定义的原始版的Date类相比,Date类发生了本质的变化.在Java1.1发布时,原始版Date类定义的许多功能被移进Calendar类和DateFormat类中.原始版Date类中的许多方法已经不赞成使用. Date类支持的构造函数: Date() Date(long   millisec) 第一个构造函数使用当前日期和时间初始化对象.第二个构造函数接收一个参数,该参数等于自1970年1月1日午夜以来经历的毫秒数. Date对象创建以

时间日期处理date,Calendar类

1.         Date类(该类现在很少用了) l         Date类对象的创建: n         创建一个当前时间 //默认是创建一个代表系统当前日期的Date对象 Date d = new Date(); n         创建一个我们指定的时间的Date对象: 下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值. //创建一个代表2009年6月12号的Date对象 D