package com.Date;

import java.util.Date;

/*
* Date 表示特定的瞬间,精确到毫秒
* JDK1.0开始
* 构造方法(常用的方法,过时的不管):
* Date() 分配Date对象并初始化此对象,表示分配它的时间,相当于new Date(System.currentTime())
* Date(long date) 创建并初始化date对象,表示从1970年1月1日00:00:00 GMT开始后的date毫秒的时间
* 常用方法:
* boolean after(Date when) 测试此日期是否在指定日期之后 此日期>when,返回true
* Boolean before(Date when)
* Object clone() 克隆
* long getTime() 返回毫秒值表示
* void setTime(long time) 设置此Date对象
* toString() Date对象转换成 dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)这种格式
*
* 从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。
*/
public class Study01 {
public static void main(String[] args) {
/*
* year和year2得到的结果是不同的,那是因为Integer的范围所导致的1000*60*60*24*365的值超出了范围
*/
Date d=new Date();
long tim=d.getTime();
long year= 1970+(tim/(1000*60*60*24)/365);
//long year2= 1970+(tim/(1000*60*60*24*365));
System.out.println(year);
d.setTime(1000000);
System.out.println(d);
//System.out.println(year2);
/*System.out.println(1000*60*60*24);
System.out.println(1000*60*60*24*365);
System.out.println(1471228928/86400000);
System.out.println(Integer.MAX_VALUE);*/
} }
package com.DateFormat;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date; /*
* DateFormat 日期时间格式化子类的抽象类
* 抽象类无法直接使用,所以必须使用它的实例
*
*方法:
* 获取日期格式器
* static getDateInstance() 获取默认日期格式器
* static getDateInstance(int style,int timeStyle)
* getTimeZone() 获取时区
* 解析字符串生成Date
* parse(String source) 解析指定字符串,生成一个日期
* 将date转化为String
* format(Date date) 将一个Date格式华为日期/时间字符串
*
*/
public class Study01 {
public static void main(String[] args) {
String s="2013-07-02";
try {
Date d= DateFormat.getDateInstance().parse(s);
System.out.println(d);
} catch (ParseException e) {
e.printStackTrace();
}
Date d=new Date();
String s1=DateFormat.getDateInstance().format(d);
System.out.println(s1);
}
}
package com.SimpleDateFormat;

import java.text.SimpleDateFormat;
import java.util.Date; public class Study01 {
public static void main(String[] args) {
String pattern="yyyy-MM-dd";
SimpleDateFormat sdf=new SimpleDateFormat();
sdf.applyPattern(pattern);
Date d=new Date();
String s=sdf.format(d);
System.out.println(s);
}
}
/*
* SimpleDateFormat是DateFormat的子类,打破了DateFormat的日期模式只能是几种的特点
* 构造方法:
* SimpleDateFormat() 使用默认的模式和默认语言环境构造SimpleDateFormat。一般如果使用的是默认的,就使用Format的getInstance()比较好
* SimpleDateFormat(String pattern)使用自定义的模式和默认语言环境构造SimpleDateFormat
* public SimpleDateFormat(String pattern, Locale locale)
*
* 一些方法:
* String toPattern()返回此日期格式的模式字符串
* String toLocalizedPattern() 返回描述次日起的本地化模式字符串
* applyPattern(String pattern) 将给定模式字符串应用于此事件模式
* format和parse都是继承父类的。
*/
package com.Calendar;

import java.util.Calendar;

/*
* Calendar: Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法
*
* public int get(int field) 返回给定字段的值。日历中的每个日历字段都是静态的成员变量,并且是int类型
*/
public class CalendarDemo {
public static void main(String[] args) {
Calendar rightNow=Calendar.getInstance(); int year=rightNow.get(Calendar.YEAR);
int month=rightNow.get(Calendar.MONTH);//month下标是从0开始的
int day=rightNow.get(Calendar.DATE); System.out.println(year+"年"+(month+1)+"月"+day+"日");
}
} package com.Calendar; import java.util.Calendar; /*
* 获取Calendar对象,使用Calendar.getInstance()。得到的默认时间为今天
*
* 设置Calendar当前时间值:
* setTime(Date date)
* setTimeInMillis(long millis)
* set(int field, int value) 将给定的日历字段设置为给定值。
* set(int year, int month, int date) 设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。
* add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量 正表示增,负表示减
* 返回Calendar的Date表示
* Date getTime()
*/
public class CaldndarDemo2 {
public static void main(String[] args) {
Calendar c=Calendar.getInstance();
c.set(2013, 3, 7);
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH);//month下标是从0开始的
int day=c.get(Calendar.DATE);
System.out.println(year+"年"+(month+1)+"月"+day+"日"); c.add(Calendar.YEAR, 5);
c.add(Calendar.DAY_OF_MONTH,-3);
year=c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH);//month下标是从0开始的
day=c.get(Calendar.DATE);
System.out.println(year+"年"+(month+1)+"月"+day+"日");
}
}

Date、DateFormat、SimpleDateFormat、Calendar的更多相关文章

  1. 七:日期类Date、日期格式化SimpleDateFormat、日历Calendar

    日期的格式转换:

  2. 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类

    日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 ​ Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...

  3. Date、Calendar、DateFormat、SimpleDateFormat、Timer、TimerTask类

    类 Date 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值. 它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 ...

  4. java时间日期类(Date、DateFormat、Calendar)学习

    1.Date类 常用方法:long getTime(),用于返回当前时刻的毫秒值 Date d = new Date(2000); System.out.println(d.getTime());// ...

  5. Math、Random、System、BigInteger、Date、DateFormat、Calendar类,正则表达式_DAY14

    1:Math&大数据类四则运算 X abs(X x) double random()         产生随机数 double ceil(double a)   向上取整 double flo ...

  6. 16_常用API_第16天(正则表达式、Date、DateFormat、Calendar)_讲义

    今日内容介绍 1.正则表达式的定义及使用 2.Date类的用法 3.Calendar类的用法 ==========================================第一阶段======= ...

  7. Java学习(正则表达式、Date类、DateFormat类、Calendar类)

    一.正则表达式 1.概念:英语:Regular Expression,在代码中常简写为regex.正则表达式,是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串. ...

  8. JAVA基础之Date类、DateFormat类及Calendar类

    个人理解: 关于Date类,进行截取或者转换时一定要注意好数据类型,long类型后面要加上L.时间的原点是1970年.用DateFormat则完成日期与文本之间的转换,特别注意的是:月是用M,时是用H ...

  9. 常用API(正则表达式、Date、DateFormat、Calendar)

    常用API 今日内容介绍 u 正则表达式 u Date u DateFormat u Calendar 第1章 正则表达式 1.1 正则表达式的概念 正则表达式(英语:Regular Expressi ...

随机推荐

  1. Word 2010文档自动生成目录和某页插入页码

    一.Word 2010文档自动生成目录 关于Word文档自动生成目录一直是我身边同学们最为难的地方,尤其是毕业论文,经常因为目录问题,被要求修改,而且每次修改完正文后,目录的内容和页码可能都会发生变化 ...

  2. Exception in thread "main" java.lang.NoClassDefFoundError: scala/Product$class

    在使用spark sql时一直运行报这个错误,最后仔细排查竟然是引入了两个scala library .去除其中一个scala的编译器即可 Exception in thread "main ...

  3. pssh批量远程管理工具

    Linux下批量管理工具pssh使用记录   pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器:pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具 ...

  4. 基于struts2框架-自定义身份证号验证器

    自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口.  > 可以选择继承 ValidatorSupport 或 FieldValidato ...

  5. SLG手游Java服务器的设计与开发——数据管理

    文章版权归腾讯GAD所有,禁止匿名转载:禁止商业使用:禁止个人使用. 一.前言 上文介绍了我们的SLG手游的服务器架构设计以及网络通信部分,本文介绍数据管理部分,在数据存储方面,我选择了Mysql.M ...

  6. F题:等差区间(RMQ||线段树)

    原题大意:原题链接  题解链接 给定一个长为n的数组元素和q次区间[l,r]询问,判断区间[l,r]内元素排序后能否构成等差数列 #include<cmath> #include<c ...

  7. ACM-ICPC 2017 Asia Shenyang Solution

    A: BBP Formula https://www.cnblogs.com/LzyRapx/p/7802790.html #include <bits/stdc++.h> using n ...

  8. linux及安全第六周总结——20135227黄晓妍

    总结部分: 操作系统内核三大功能: 进程管理,内存管理,文件系统 最核心的是进程管理 为了管理,首先要对每一个进程进行描述.进程描述符提供了所有内核需要了解的信息. 进程控制模块:task_struc ...

  9. Spring JPA中OneToOne和OneToMany用法

    Spring工程中,创建实体对象时,可以通过JPA的@Entity标识实体与数据库表的对应关系,@Column标识数据库字段.其中还有标识两个实体间关系的注解:@OneToOne.@OneToMany ...

  10. POJ 1185 炮兵阵地(状压DP)题解

    思路:和上一篇思路一样,但是这里要求最大能排几个,这里要开三维,记录上次和上上次的状态,再一一判定,状态转移方程为 dp[i][j][k] = max(dp[i][j][k],dp[i - 1][k] ...