日期操作类
        Date 类与 long 数据类型的转换
        SimpleDateFormat 类的使用
        Calendar 类的使用
        
        如果要想取得当前的日期时间,直接实例化 java.util.Date; 类即可取得

package cn.mysterious.study3;

import java.util.Date;

public class DateClass {

    public static void main(String[] args) {
// TODO Auto-generated method stub
Date date = new Date();
System.out.println(date);
} }
/*
结果:
Tue Sep 05 23:23:11 CST 2017
*/

虽然 Date 类的对象可以取得当前的日期时间,但是结果是这个日期时间的可读性不合适中国人
        一直强调,日期时间 = long 数据内容。这一点在 Date 两类上有很好的体现
            构造方法: public Date(long date)
            将 Date 以 long 型返回: public long getTime()
            
        范例:实现转换

package cn.mysterious.study3;

import java.util.Date;

public class DateClass {

    public static void main(String[] args) {
// TODO Auto-generated method stub
Date date = new Date(); // Date 类对象
long num = date.getTime(); // 将 Date 以 long 型返回
System.out.println(num);
} }

在实际的使用过程之中,很少会出现这样的转换,但是至少你的头脑中应该清楚,long 和 Date 可以互相转换

    
    日期格式化: SimpleDateFormat (核心,背)
        Date 虽然可以直接进行日期时间的取得,但是大部分情况下这样的日期时间取得并不好用,因为它给出日期时间格式我们很多人看不懂
        所以在java中考虑到了日期的显式格式要求。那么往往最终都会按照 String进行显式
        如果要想实现这样的格式化操作,可以使用 java.text.SimpleDateFormat 类完成,在这个类有以下几个方法:
            构造方法: public SimpleDateFormat(String pattern)
                格式化标记:年(yyyy)月(MM)日(dd)时(HH)分(mm)秒(ss)毫秒(SS)
            将日期格式化为字符串: public final String format(Date date)
            将字符串变为日期时间: public Date parse(String source) throws ParseException
        
        范例:就爱那个日期格式化为字符串

package cn.mysterious.study3;

import java.text.SimpleDateFormat;
import java.util.Date; public class DateClass { public static void main(String[] args) {
// TODO Auto-generated method stub
Date date = new Date(); // Date 类对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
String str = sdf.format(date); // 将日期格式化为字符串
System.out.println(str);
} }

范例:将字符串变为日期时间

package cn.mysterious.study3;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class DateClass { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String str = "1997-10-01 00:00:00.001";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
Date date = sdf.parse(str); // 将字符串变为日期
System.out.println(date);
} }

总结:现在为止 String,基本类型,Date 已经实现了彻底的转换贯通
            String 变为基本类型:包装类
            基本类型变为 String : String vallueOf();
            Date 与 String 转换: SimpleDateFormat

    Calendar 类
        Calendar 主要的功能是可以进行日期时间的拼凑使用。 Calendar 本身是一个抽象类
        但是现在可以直接利用这个抽象类中提供的 static 方法进行实例化对象的取得:
            public static Calendar getInstance()
        随后可以利用 Calendar 类中的一个方法取得指定的日期时间数据:
            public int get(int field)
        但是在使用此方法的时候需要使用一些特定的常量
        
        范例:取得当前的日期时间

package cn.mysterious.study3;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class DateClass { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance(); // 取得 Calendar 类的实例化对象
StringBuffer buf = new StringBuffer();
buf.append(cal.get(Calendar.YEAR)).append("年");
buf.append(cal.get(Calendar.MONTH) + 1).append("月"); // 它是从0月开始计算的 所以+1
buf.append(cal.get(Calendar.DAY_OF_MONTH)).append("日");
buf.append(cal.get(Calendar.HOUR_OF_DAY)).append("时");
buf.append(cal.get(Calendar.MINUTE)).append("分");
buf.append(cal.get(Calendar.SECOND)).append("秒");
buf.append(cal.get(Calendar.MILLISECOND)).append("毫秒");
System.out.println(buf);
} }

使用 Calendar 的好处是可以方便的计算出日期或时间之间的间隔

    总结:
        java.util.Date; 代表的就是日期时间
        SimpleDateFormat 可以实现字符串与日期间的转换操作

菜鸡的Java笔记 日期操作类的更多相关文章

  1. 菜鸡的Java笔记 数字操作类

    数字操作类        Math 类的使用        Random 类的使用        BigInteger 和 BigDecimal 类的使用                Math 是一 ...

  2. 菜鸡的Java笔记 Object 类

    Object 类        Object类 的主要作用        Object 类的常用方法             内容        虽然有了对象的向上转型,可以解决了参数的统一问题,但是 ...

  3. 菜鸡的Java笔记 实践 - java 数组操作

    讲解一个继承的实现思路                要求定义一个数组操作类(Array类),在这个类里面可以进行整型数组的操作,由外部传入数组的大小        ,并且要求实现数据的保存以及数据的 ...

  4. 菜鸡的Java笔记 - java 常用类库

    CommonClassLibrary 常用类库        定时调度            定时调度指的是每到一个时刻,都会自动的产生某些特定的操作形式                    con ...

  5. 菜鸡的Java笔记 - java 反射机制

    反射机制        1.观察 Class 类的使用        2.利用反射改善工程设计模式        3.反射操作类结构            content (内容)        1. ...

  6. 菜鸡的Java笔记 comparator 比较器

    1.数组操作类: Arrays        2.两种比较器的使用: Comparable Comparator        3.实现二叉树算法            content (内容)   ...

  7. 菜鸡的Java笔记 第三十 - java 异常的捕获及处理

    异常的捕获及处理        1.异常的产生分析以及所带来的影响        2.异常的处理的基本格式        3.异常的处理流程        4.异常的处理模式        5.自定义 ...

  8. 菜鸡的Java笔记 第二十八 - java 包的定义

    包的主要作用以及定义    包的导入操作    系统常见的开发包    jar 程序命令        包的定义        在任何的操作系统之中都有一个统一的共识:同一个目录下不能够存在有相同的文 ...

  9. 菜鸡的Java笔记 第十七 static 关键字

    static 是java中定义的一个关键字,主要是描述全局的概念,所以利用static关键字可以定义属性,定义方法        但是在90%的情况下,我们的开发代码很少会去直接编写static*// ...

随机推荐

  1. SpaCy下载及安装

    SpaCy可以说是坑多到怀疑人生.. 但是看在它那么功能那么强大的份上,我还是决定原谅它哈哈哈~ 1.首先用官网给的命令快速安装纯属扯淡..(结果就是一直拒绝你的连接) 官网:https://spac ...

  2. Spring中IOC的理解

    Spring中IOC的理解 1.什么是IOC? (1)控制反转.把对象创建和对象间的调用过程交给Spring进行管理. (2)使用IOC的目的:为了耦合度降低. 2.IOC底层原理? (1)xml解析 ...

  3. Mybatis 二级缓存应用 (21)

    [MyBatis 二级缓存] 概述:一级缓存作用域为同一个SqlSession对象,而二级缓存用来解决一级缓存不能夸会话共享,作用范围是namespace级,可以被多个SqlSession共享(只要是 ...

  4. Github 29K Star的开源对象存储方案——Minio入门宝典

    对象存储不是什么新技术了,但是从来都没有被替代掉.为什么?在这个大数据发展迅速地时代,数据已经不单单是简单的文本数据了,每天有大量的图片,视频数据产生,在短视频火爆的今天,这个数量还在增加.有数据表明 ...

  5. AtCoder Beginner Contest 223

    AtCoder Beginner Contest 223 A是纯纯的水题,就不说了 B - String Shifting 思路分析 我真的sb,一开始想了好久是不是和全排列有关,然后读了好几遍题目也 ...

  6. 用例圖學習實例 / Learning Use Case Diagram by Examples

    什麼是用例圖? 用例描述了一個演員和感興趣的系統之間的一系列交互,以達到某種特定目標,並由某種觸發事件引發.用例滿足需求或為演員解決問題.用例圖包含一組用例,可以通過從每個角色的不同角度講述系統將如何 ...

  7. 5.31日 Scrum Metting

    日期:2021年5月31日 会议主要内容概述:讨论草稿箱前后端接口,讨论账单页面设计. 一.进度情况 组员 负责 两日内已完成的工作 后两日计划完成的工作 工作中遇到的困难 徐宇龙 后端 文件导入功能 ...

  8. spring cloud config 结合 spring cloud bus实现配置自定的刷新

    在线上环境中,有时候我们希望系统中的某些配置参数在修改后,可以立即生效而不用重新启动服务.由上一节我们知道,我们可以把配置文件统一放到配置服务中进行管理,这一节我们在配置中心中整合spring clo ...

  9. str数组

  10. stm32f103系列引脚定义-功能图

    器件功能和配置(STM32F103xx增强型) STM32F103xx增强型模块框架图 STM32F103xx增强型VFQFPN36管脚图 STM32F103xx增强型LQFP100管脚图 STM32 ...