我们将以Java自带的时间日期类和当中的处理函数进行分析。

一、与时间日期有关的类。

  java.util.Date。

实现类,其对象具有时间、日期组件。

  java.util.Calendar。

抽象类。其对象具有时间、日期组件。

  java.sql.Date。

实现类,其对象具有日期组件。

  java.sql.Time。实现类,其对象具有时间组件。

  java.sql.Timestamp。实现类,其对象具有时间日期组件。

  java.text.DateFormat。

抽象类,其对象格式化时间日期。

我们通常会使用的类java.util.Date、java.util.Calendar、java.sql.Timestamp、java.text.DateFormat进行时间日期操作,由于他们有全然的时间日期组件和全面的格式化功能。

值得注意的是java.sql.Date没有时间组件,而java.sql.Time没有日期组件!

以下是使用方法举例

public static void main(String[] args) {
/**
* 展示各个日期时间组件的输出类型
*/
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
System.out.println(sqlDate.toString()); // 输出结果:2015-06-25 java.sql.Time sqlTime = new java.sql.Time(System.currentTimeMillis());
System.out.println(sqlTime.toString()); // 输出结果:09:13:43 java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(System.currentTimeMillis());
System.out.println(sqlTimestamp.toString()); // 输出结果:2015-06-25 09:13:43.561 java.util.Date utilDate = new java.util.Date(System.currentTimeMillis());
System.out.println(utilDate.toString()); // 输出结果:Thu Jun 25 09:13:43 CST 2015 java.util.Calendar cl = java.util.Calendar.getInstance();
System.out.println(cl.getTime().toString()); // 输出结果:Thu Jun 25 09:13:43 CST 2015
}

public static void main(String[] args) {
/**
* java.sql.Timestamp的使用方法。
*/
@SuppressWarnings("deprecation")
java.sql.Timestamp sqlTimestamp1 = new java.sql.Timestamp(2015,6,25,9,13,43,561);
java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(System.currentTimeMillis());
System.out.println(sqlTimestamp); Boolean isAfter = sqlTimestamp.after( sqlTimestamp1 );
System.out.println( isAfter ); //false Boolean isBefore = sqlTimestamp.before( sqlTimestamp1 );
System.out.println( isBefore ); //true
//用于比較两个时间点的长度,单位毫秒
Long gettimes = sqlTimestamp.getTime();
System.out.println( gettimes ); //输出 :1435196988250
//将字符串类型转为 Timestamp 类型
java.sql.Timestamp sqlTimestamp2 = java.sql.Timestamp.valueOf( "2015-06-25 09:48:16.524" );
System.out.println( sqlTimestamp2 ); //输出:2015-06-25 09:48:16.524
}
public static void main(String[] args) {
/**
* java.text.SimpleDateFormat的使用方法
*/
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Timestamp now = new Timestamp(System.currentTimeMillis());
System.out.println(now); // 2015-06-25 14:27:41.477
String time = df.format(now);
System.out.println(time); // 2015-06-25 14:27:41
System.out.println(Timestamp.valueOf(time)); // 2015-06-25 14:27:41.0 Date now1 = new Date();
System.out.println(now); // 2015-06-25 14:27:41.477
String time1 = df.format(now1);
System.out.println(time1); // 2015-06-25 14:27:41
System.out.println(Timestamp.valueOf(time1)); // 2015-06-25 14:27:41.0 }

public static void main(String[] args) {
/**
* java.util.Calendar的使用方法
*/
Calendar calendar1 = Calendar.getInstance();
System.out.println(calendar1); // java.util.GregorianCalendar[time=1435214975097,areFieldsSet=true,
// areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",
// offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],
// firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=5,
// WEEK_OF_YEAR=26,WEEK_OF_MONTH=4,DAY_OF_MONTH=25,DAY_OF_YEAR=176,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=4,
// AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=49,SECOND=35,MILLISECOND=97,ZONE_OFFSET=28800000,DST_OFFSET=0] // 获取时间
Date date1 = calendar1.getTime();
System.out.println(date1); // Thu Jun 25 14:49:35 CST 2015
System.out.println(calendar1.getWeeksInWeekYear()); // 52
System.out.println(calendar1.get(Calendar.DAY_OF_MONTH)); // 25
System.out.println(calendar1.get(Calendar.HOUR_OF_DAY)); // 14 }

java中自带时间类使用方法实例 Date,Timestamp,DateFormat的更多相关文章

  1. java中六个时间类的使用和区别

    java.util.Date java.sql.Date   java.sql.Time   java.sql.Timestamp java.text.SimpleDateFormat java.ut ...

  2. Java中产生随机数的两个方法

    Java中产生随机数的两个方法 一.利用random方法来生成Java随机数. 在Java语言中生成Java随机数相对来说比较简单,因为有一个现成的方法可以使用.在Math类中,Java语言提供了一个 ...

  3. Java中直接输出一个类的对象

    例如 package com.atguigu.java.fanshe; public class Person { String name; private int age; public Strin ...

  4. JAVA中生成指定位数随机数的方法总结

    JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 public static String getRandom1(int len) { int rs = ( ...

  5. Java 中 List 分片的 5 种方法!

    前些天在实现 MyBatis 批量插入时遇到了一个问题,当批量插入的数据量比较大时,会导致程序执行报错,如下图所示: 原因是 MySQL 只能执行一定长度的 SQL 语句,但当插入的数据量较多时,会生 ...

  6. java中不带package和带package的编译运行方式

    Java中不带package的程序和带package的程序编译的方式是不同的. 一.不带package的程序建立个HelloWorld.java的文件,放入C:\,内容如下:public class ...

  7. java中遍历map对象的多种方法

    在Java中如何遍历Map对象   How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有ma ...

  8. Java中的不可变类理解

    一.Java中的不可变类 不可变类(Immutable Objects):当类的实例一经创建,其内容便不可改变,即无法修改其成员变量. 可变类(Mutable Objects):类的实例创建后,可以修 ...

  9. Java中遍历map的四种方法 - 转载

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

随机推荐

  1. Nginx从入门到放弃-第5章 Nginx架构篇

    5-1 Nginx常见问题_架构篇介绍 5-2 Nginx常见问题_多个server中虚拟主机读取的优先级 5-3 Nginx常见问题_多个location匹配的优先级1 5-4 Nginx常见问题_ ...

  2. sqlserver数据库的权限设置

    1.先用Windows账户登陆,然后在安全性中添加用户--SQL server 身份验证,用户名,密码2.用户映射--勾选对应的数据库--数据库角色成员身份--db_owner public

  3. HUST——1110雪碧(简单DFS)

    1110: 雪碧 时间限制: 1 Sec  内存限制: 128 MB 提交: 18  解决: 6 题目描述 杨神最近特别喜雪碧,他现在有两瓶,他大晚上的在街上走,他逢店加一倍(雪碧),逢摊吃大虾并喝一 ...

  4. win10经验总结

    1.修改win10 桌面图标快捷方式路径 C:\Users\qbfe\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tool ...

  5. 如何查找Windows上安装的DB2的端口号Port

    1.db2com打开控制台 2.db2 get dbm cfg 可以通过db2 get dbm cfg,查询数据库管理器配置参数,就可以查到端口号或端口名. 示例: $ db2 get dbm cfg ...

  6. bzoj 3000 Big Number 估算n!在k进制下的位数 斯特林公式

    题目大意 求n!在k进制下的位数 2≤N≤2^31, 2≤K≤200 分析 作为数学没学好的傻嗨,我们先回顾一下log函数 \(\log_a(b)=\frac 1 {log_b(a)}\) \(\lo ...

  7. APUE 学习笔记(二) 文件I/O

    1. 文件I/O 对于内核而言,所有打开的文件都通过文件描述符引用,内核不区分文本文件和二进制文件 open函数:O_RDONLY  O_WRONLY  O_RDWR create函数: close函 ...

  8. 树上的路径 BZOJ 3784

    树上的路径 [问题描述] 给定一个N个结点的树,结点用正整数1..N编号.每条边有一个正整数权值.用d(a,b)表示从结点a到结点b路边上经过边的权值.其中要求a<b.将这n*(n-1)/2个距 ...

  9. es6总结(三)--数组

  10. c#使用椭圆签名算法制作软件序列号

    椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC)是基于椭圆曲线数学的一种公钥密码的方法.椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Vict ...