主要是date类,SimpleDateFormat类以及Calendar类的使用。 date表示日期,simpleDateFormat 表示日期格式化,Calendar一般用来做时间的操作,比如加减天数,月数等

public static void main(String[] args) {
// TODO Auto-generated method stub
//获取当前时间
Date d = new Date();
System.out.println(d.getTime());
System.out.println(d);
//获取当前时间转为yyyy-MM-dd HH:mm:ss
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(d)); //时间戳转为日期格式(我加了1分钟)
long atime=d.getTime()+60000L;
d.setTime(atime);
System.out.println(df.format(d)); //那如果我想获取上个月怎么办,使用Calendar
Calendar cad = Calendar.getInstance();
//列举下Calendar的使用技巧
//转换为Date对象
System.out.println(cad.getTime());
//将Date对象转换为Calendar
cad.setTime(d);//这之前上面给d在当前时间基础上加了1分钟
System.out.println(cad.getTime()); //给Calendar设置时间 注意month,第一月是0
cad.set(2018,6,17,17,48,20);
System.out.println(cad.getTime()); //对日期进行比较
Calendar cad1 = Calendar.getInstance();
Calendar cad2 = Calendar.getInstance();
System.out.println(cad1.compareTo(cad2));
//当cad2减去20个小时
cad1.add(cad1.HOUR,-20);
System.out.println(cad1.getTime());
System.out.println(cad1.compareTo(cad2)); //获取下时区
System.out.println(cad1.getTimeZone()); //如果我换时区为utc0再观察自己的当前时间发现-8小时
TimeZone tz = TimeZone.getTimeZone("GMT+00:00");
cad2.setTimeZone(tz);
//获取下时区,注意了,不要使用getTime()获取date对象,因为他是使用默认时区来表示的。如果返回date对象那看到的时间还是北京时间
System.out.println(cad2.get(Calendar.HOUR));//日历中的小时变成减去8小时 //这里我们来测试一下,二月份的天数是多少天
Calendar cad3 = Calendar.getInstance();
cad3.set(2018,6,29,17,48,20);
cad3.add(cad1.MONTH,-5);
System.out.println(cad3.getTime());//很不幸这里这里是2月的最后一天,因为2月29号不存在
}

  

java【基础】日期操作的更多相关文章

  1. Java基础-线程操作共享数据的安全问题

    Java基础-线程操作共享数据的安全问题 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.引发线程安全问题 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运 ...

  2. Java基础-日期格式化DateFormat类简介

    Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象 ...

  3. Java常用日期操作

    对java中常用的日期操作进行整理. 1.日期格式化 /* * 日期格式化类(必须掌握) * API: * G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Mo ...

  4. 菜鸡的Java笔记 日期操作类

    日期操作类        Date 类与 long 数据类型的转换        SimpleDateFormat 类的使用        Calendar 类的使用                如 ...

  5. JAVA基础--日期处理

    用SimpleDateFormat方法格式化日期格式: package DAO; import java.sql.Connection; import java.sql.DriverManager; ...

  6. java基础以及操作Excle

    今天把会经常用的几个集合的迭代方法又练习了一下,放在这里,经常复习! map集合迭代 /*** 迭代map[1]*/ for (Integer key : map.keySet()) {//迭代key ...

  7. Java基础——日期类Date

    一.概述 date代表一个特定的时间,精确到毫秒 二.构造方法 方法名 说明 public Date() 分配一个Date对象,并初始化,以便它代表被分配的时间,精确到毫秒 public Date(l ...

  8. Java基础面试操作题: 获取 1-20 之间的随机数,共计 20 个,要求不能重复 获取 1-20 之间的随机数,共计 10 个,要求不能重

    package com.swift; import java.util.HashSet; import java.util.Random; import java.util.Set; public c ...

  9. Java基础面试操作题:读取该文件内容,并按照自然顺序排序后输出到 另一个文件中

    package com.swift; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...

  10. Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

    package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

随机推荐

  1. Spark流处理调优步骤

    总体运行状况: 这里的每个批处理任务间隔是10s一次,所以Total Delay是14s,那么对于下一个批处理任务来说就是延迟了14 - 10 = 4s . Total Delay   -  每个批处 ...

  2. Linux之ls

    命令功能: ls是list的简写,列出目录下的内容 命令格式: ls [OPTION]... [FILE]... 命令参数: -a,--all    不忽略以“.”开头的隐藏文件 -A, --almo ...

  3. Delphi2009之TImage

    TPngImage原来是SourceFroge上的一个开源项目,现在突然消失了,为什么呢?Nick 在他的博客上写到:TPNGImage被CodeGear/Embarcadero收购了,现在直接就是D ...

  4. CentOS 7下给nginx安装SSL证书

    0. DNS要能解析你的网址(域名解析和主机解析,例如example.com和www.example.com都要能解析.注意泛解析记录*.example.com可以存在但在本文中暂时无法用于https ...

  5. Scrapy学习篇(十三)之scrapy+selenum获取网站cookie并保存带本地

    参考:https://www.cnblogs.com/small-bud/p/9064674.html 和selenium登录51job的例子

  6. Angular2中使用ngx-translate进行国际化

    转自 https://blog.csdn.net/u014291497/article/details/61233033 相较于angularjs中的ng-translate, angular2也有适 ...

  7. PUSU 拆分后发货和开票的时间节点问题

    项目做到现在业务突然说流程要变,心中顿时无数个草草草掠过.这公司业务也真是够奇葩了,一天一个样.原来流程是由PU把产品生产完后就发给SU,由SU再来决定什么时候对客户和开票.而现在马上要上线了,突然冒 ...

  8. 消息对话框 MessageBoxButtons

    消息对话框MessageBox经常用于向用户显示通知信息.例如,在操作过程中遇到错误或程序异常,经常会使用这种方式给用户以提示,它是特殊类型的对话框. 在C#中,MessageBox消息对话框位于Sy ...

  9. Sqlserver 2016 R Service环境安装的各种错误(坑)解决办法

    相信很多朋友都会慕名Sqlserver 2016的R语言功能,将自己的数据库升级到Sqlserver 2016,但是当你安装完Sqlserver 2016的R语言组件之后,你会发现并不能直接使用,比如 ...

  10. 502 Bad Gateway

    状态码解释: 502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应. 502 原因分析: 将请求提交给网关如php-fpm执行,但是由于某些原因没有 ...