Java 日期时间处理

一、时间相关类

  • java.lang.System
  • java.util.Date
  • java.util.Calendar
  • java.util.GregorianCalendar
  • java.util.TimeZone
  • java.text.DateFormat
  • java.text.DateSimpleFormat
  • java.sql.Date
  • java.sql.Time
  • java.sql.Timestamp

二、各个类之间的关系

三、常见问题及解决

1、什么是UTC/UT?

  • UTC:世界标准时间
  • UT:世界时间

2、什么是GMT?

  • 格林威治标准时间

3、怎样获取当前时间?

   //在1970年1月1日UTC之间的当前时间和午夜之间的差异,以毫秒为单位。
long ctm = System.currentTimeMillis();
//分配一个 Date对象并对其进行初始化,以便它表示分配的时间,测量到最近的毫秒。
Date d = new Date();
//使用默认时区和区域设置获取日历。 Calendar返回的是基于默认时区的当前时间,默认为FORMAT区域设置。
Calendar cal = Calendar.getInstance(); //Calendar是抽象类,不能直接实例化
System.out.println(ctm); //1535808760490
System.out.println(d); //Sat Sep 01 21:32:40 CST 2018
System.out.println(cal); //包含所有日期相关的属性,可以通过get()方法获得对应属性的值

4、怎样格式化时间?

    Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss"); // yyyy-MM-dd hh-mm-ss可以替换,具体类型可以查找Java API
String tssdf = sdf.format(d);

5、怎样将一个字符串转换为日期/时间格式?

  • java.util.Date中的获取单个时间日期的方法已被废弃,要获取这类值,可以使用java.util.Calendar中的相关方法。

  • 示例:

   Calendar cj=new GregorianCalendar(TimeZone.getTimeZone("PRC"));  //中国时间
int hod=cj.get(Calendar.HOUR_OF_DAY); //该方法返回int型
System.out.println("24小时制小时: "+hod); //24小时制小时
System.out.println("12小时制小时: "+cj.get(Calendar.HOUR)); //12小时制小时
System.out.print(cj.get(Calendar.HOUR_OF_DAY)+" 时 "); //12小时制小时
System.out.print(cj.get(Calendar.MINUTE)+" 分 "); //分钟
System.out.println(cj.get(Calendar.SECOND)+" 秒"); //秒
System.out.println("毫秒: "+cj.get(Calendar.MILLISECOND)); //毫秒
System.out.print(cj.get(Calendar.YEAR)+" 年 "); //年
System.out.print((cj.get(Calendar.MONTH)+1)+" 月 "); //月
System.out.println(cj.get(Calendar.DATE)+" 日"); //日
  • 示例输出:
    24小时制小时: 22
12小时制小时: 10
22 时 56 分 7 秒
毫秒: 559
2018 年 9 月 1 日

6、怎样处理从数据库中获取的日期/时间?

  • 日期格式化:

    Date d = res.getDate("stu_date");  //获取日期(只包含年月日)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
    String dsdf = sdf.format(d); // 2018年07月25日
  • 时间格式化:

    Time t = res.getTime("stu_date");  //获取时间(只包含时分秒)
    SimpleDateFormat sdf = new SimpleDateFormat("hh时mm分ss秒");
    String tsdf = sdf.format(t); // 12时13分35秒
  • 完整时间格式化:

    Timestamp ts = res.getTimestamp("stu_date");
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");
    String tssdf = sdf.format(ts);

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

  1. Java 日期时间

    Java 日期时间 标签 : Java基础 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含 ...

  2. Java日期时间使用(转)

    Java日期时间使用总结 转自:http://lavasoft.blog.51cto.com/62575/52975/   一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个 ...

  3. Java日期时间,以及相互转换

    Java日期时间,以及相互转化 package com.study.string; import java.text.ParseException; import java.text.SimpleDa ...

  4. Java 日期时间 Date类型,long类型,String类型表现形式的转换

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型 java.util.Date dt = new Date(); ...

  5. Java日期时间使用总结[转载]

    Java日期时间使用总结   一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式 ...

  6. Java-Runoob:Java 日期时间

    ylbtech-Java-Runoob:Java 日期时间 1.返回顶部 1. Java 日期时间 java.util 包提供了 Date 类来封装当前的日期和时间. Date 类提供两个构造函数来实 ...

  7. Java日期时间实用工具类

    Java日期时间实用工具类 1.Date (java.util.Date)    Date();        以当前时间构造一个Date对象    Date(long);        构造函数   ...

  8. Java 日期时间格式化

    在此记录Java日期时间格式化转换符,方便以后有需要时查找. 1.日期格式化 2.时间格式化 3.格式化常见的日期时间组合

  9. Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();Sy ...

随机推荐

  1. centos7.1安装tomcat8

    上传软件包 [root@linux-node1 tools]# ls apache-tomcat-8.0.32.tar.gz jdk-8u74-linux-x64.tar.gz 添加普通用户tomca ...

  2. Synchronized 有几种用法?

    我们都知道 Synchronized 是线程安全同步用的,大部分程序可能只会用到同步方法上面.其实 Synchronized 可以用到更多的场合. 1.同步普通方法(锁实例对象) 这个也是我们用得最多 ...

  3. 依赖、耦合、解耦、控制反转(IOC)、依赖注入(DI)

    随着net的深入学习,出现了很多概念性的东西需要理解,现在统一记录一下. 1.依赖:现阶段在任何一个有请求作用的系统,都会出现A类调用B类的情况,这时候A类就依赖于B类,A类和B类存在依赖关系. 2. ...

  4. ionic3 热更新发布步骤记录

    1.安装基本框架npm install -g ionic@latest npm install -g cordova ionic 验证版本号 ionic –version cordova -versi ...

  5. js源生ajax

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 常用JVM命令

    查看当前所有jvm进程 ./jps -l -m ./jps -l -m -v 查看jvm进程内存堆使用情况 ./jstat -gc $pid 生成java虚拟机当前时刻的线程快照 jstack -l ...

  7. python网页爬虫开发之六-Selenium使用

    chromedriver禁用图片,禁用js,切换UA selenium 模拟chrome浏览器,此时就是一个真实的浏览器,一个浏览器该加载的该渲染的它都加载都渲染,所以爬取网页的速度很慢.如果可以不加 ...

  8. WHERE 子句操作符

    操作符(operator) 用来联结或改变WHERE子句中得子句的关键字,也称为逻辑操作符(logical operator): 操作符 说  明 = 等于 <> 不等于 != 不等于 & ...

  9. solr schema.xml Field属性详解

    <field name="id" type="string" indexed="true" stored="true&quo ...

  10. !!代码:baidu 分享

    改参数,可以改图标的尺寸:16x16.24x24.32x32 <!DOCTYPE html> <html> <head> <title></tit ...