Date


Date date = new Date();

获取时间

        Date d = new Date();
// Date d2=new Date(System.currentTimeMillis()-24*60*60*1000);
System.out.println(d);
// System.out.println(System.currentTimeMillis());

Calender

  • SimpleDateFormat:规范日期格式

设置当前基准时间

        Date d = new Date();

        //Calendar
Calendar cal = Calendar.getInstance();
//设置当前基准时间
cal.setTime(d);
// set:field设置的时间属性,value是设置的值
//cal.set(Calendar.DATE, 19);
    // add方法:增加或减少时间值
cal.add(Calendar.DATE, 2);
//System.out.println(cal.getTime());

格式化时间

        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(format.format(cal.getTime()));

计算两个年份之间的闰年数量

public static boolean isLeapYear(int year){
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ;
} public static void main(String[] args) {
Date d = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(d);
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
System.out.println(format.format(cal.getTime()));
System.out.println("=======40天后取写真========");
cal.add(Calendar.DATE, 40);
System.out.println(format.format(cal.getTime()));
System.out.println("======闰年个数========");
int count=0;
for(int i=1970;i<2011;i++){
if(isLeapYear(i)){
System.out.println(i+"是闰年");
count++;
}
}
System.out.println("闰年数量:"+count); }

时间和日期处理的综合练习

public static void sub(){
System.out.println("两个日期为:2014-3-8和2017-8-17");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.setLenient(false);
try {
Date date1= format.parse("2014-3-8");
Date date = format.parse("2017-8-17");
long day =(date.getTime()-date1.getTime())/(1000*60*60*24);
System.out.println("相差天数:"+day);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//毫秒转日期
public static void change(){
Scanner sc= new Scanner(System.in);
Date date = new Date();
// Long time = date.getTime();
// System.out.println("当前日期的毫秒数:"+time);
System.out.println("请输入一个毫秒数:");
Long time = sc.nextLong();
Date d = new Date(time);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("转换成日期:"+sdf.format(d));
} public static void today(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("今天日期:"+sdf.format(date));
} public static void subAdd(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println("当前的日期:"+sdf.format(date));
cal.add(Calendar.DATE, 10);
System.out.println("加了10天后的日期:"+sdf.format(cal.getTime()));
cal.add(Calendar.DATE, -8);
System.out.println("减去8天后的日期:"+sdf.format(cal.getTime()));
} public static void addSub(){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.setLenient(false);
Scanner sc = new Scanner(System.in);
System.out.println("请输入指定日期:");
try {
String str = sc.next();
Date date1= format.parse(str);
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
cal.add(Calendar.DATE, 10);
System.out.println("加了10天后的日期:"+format.format(cal.getTime()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} //日期格式化
public static void sdf(){
SimpleDateFormat format = new SimpleDateFormat("北京时间:yy年MM月dd日,为您报时:HH:mm:ss");
Date d = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(d);
System.out.println(format.format(cal.getTime())); } public static void main(String[] args) {
System.out.println("===========返回两个日期之间相差的天数================");
sub();
System.out.println("===========毫秒转日期================");
change();
System.out.println("===========返回今天的日期=============");
today();
System.out.println("===========返回当前日期加减后的日期=============");
subAdd();
System.out.println("===========返回指定日期的加减天数=============");
addSub();
System.out.println("===========日期格式化=============");
sdf();
}

Java——时间和日期处理的更多相关文章

  1. [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  2. java时间和日期类型

    在java中,代表时间和日期的类型包括:java.util.Date和java.util.Calendar,此外,在JDBC API中还提供了3个扩展类,java.UtilDate类的子类:java. ...

  3. hibernate Java 时间和日期类型的 Hibernate 映射

    基础知识: 在 Java 中, 代表时间和日期的类型包含: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java. ...

  4. hibernate Java 时间和日期类型 Hibernate 制图

    基础知识: 于 Java 于, 型表示的时间和日期包含: java.util.Date 和 java.util.Calendar. 外, 在 JDBC API 中还提供了 3 个扩展了 java.ut ...

  5. Java 时间、日期类

    1. System类 currentTimeMillis():返回当前时间的long型值.此long值是从1970年1月1日0点0分00秒开始到当前的毫秒数. 此方法常用来计算时间差. 2. Date ...

  6. Java 时间和日期类型的 Hibernate 映射

    以下情况下必须显式指定 Hibernate 映射类型 一个 Java 类型可能对应多个 Hibernate 映射类型. 例如: 如果持久化类的属性为 java.util.Date 类型, 对应的 Hi ...

  7. java中获取日期和时间的方法总结

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

  8. java Joda-Time 对日期、时间操作

    任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...

  9. Java 时间日期系列目录

    下面是Java的时间和日期相关文章目录: 01. Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(1) Calendar 02.  ...

随机推荐

  1. VIM操作快捷键

    i:插入光标前一个字符I:插入行首a:插入光标后一个字符A:插入行末o:向下新开一行,插入行首O:向上新开一行,插入行首M:光标移到中间行L:光标移动到屏幕最后一行行首G:移动到指定行{:按段移动,上 ...

  2. 关于HashSet

    HashSet存储数据原理: 当HashSet调用add方法时,有返回值,返回值是boolean类型,表示是否添加成功(如果对象不存在,则添加成功,否则添加失败) 但是,添加的过程并不是一个个去遍历去 ...

  3. C++编译过程概述

    一 ---导读 想象成工厂要产出一个产品的过程,经过流水线上一步一步,不同的人的操作,然后经过整合,就得到了一个完整可用的产品. 二---编译过程图解 三---在linux中编程详解编译过程 当我们在 ...

  4. jdbc-创建statement-数量过多导致游标超限

    在循环中重复创建  java.sql.Connection.prepareStatement(sql)  , 导致游标超限

  5. fatal error C1045: 编译器限制 : 链接规范嵌套太深

    前言 我相信你是遇到了同样的问题.通过搜索引擎来到这里的.为了不耽误排查问题的时间,我提前说明一下这篇文章所描述的问题范畴: 我遇到的问题和 c++ 模板相关: 如果我减少传递的参数的话,是有可能避免 ...

  6. WPF DataGrid与ListView性能对比与场景选择

    开门见山的说 性能对比: 在Demo中,DataGrid与ListView默认开启虚拟化(可以理解为动态渲染,类似懒加载只渲染屏幕可以看见的地方) DataGrid渲染10列50行随机字符280ms ...

  7. Maven+Spring 框架,ModelAndView在页面取值不成功

    如果创建的是maven project , maven生成的web.xml是这样的: 但是这样是不对的,应该修改成: 下面是代码: <?xml version="1.0" e ...

  8. 【JavaWeb】HTML&CSS 基础

    HTML&CSS 基础 HTML 基础 HTML 标签 HTML标题:HTML 标题(Heading)是通过 h1 - h6 等标签进行定义的. HTML段落: HTML 段落是通过 p 标签 ...

  9. golang遍历时修改被遍历对象

    目录 前言 遍历切片 遍历map 总结 前言 很多时候需要将遍历对象中去掉某些元素,或者往遍历对象中添加元素,这时候就需要小心操作了. 对于go语言中的一些注意事项我做了总结和示例,留下点笔记. 遍历 ...

  10. Dubbo 配置的加载流程

    配置加载流程 在SpringBoot应用启动阶段,Dubbo的读取配置遵循以下原则 Dubbo支持了多层级的配置,按照预先定义的优先级自动实现配置之间的覆盖,最终所有的配置汇总到数据总线URL后,驱动 ...