Java日期时间处理
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日期时间处理的更多相关文章
- Java 日期时间
Java 日期时间 标签 : Java基础 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含 ...
- Java日期时间使用(转)
Java日期时间使用总结 转自:http://lavasoft.blog.51cto.com/62575/52975/ 一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个 ...
- Java日期时间,以及相互转换
Java日期时间,以及相互转化 package com.study.string; import java.text.ParseException; import java.text.SimpleDa ...
- Java 日期时间 Date类型,long类型,String类型表现形式的转换
Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型 java.util.Date dt = new Date(); ...
- Java日期时间使用总结[转载]
Java日期时间使用总结 一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式 ...
- Java-Runoob:Java 日期时间
ylbtech-Java-Runoob:Java 日期时间 1.返回顶部 1. Java 日期时间 java.util 包提供了 Date 类来封装当前的日期和时间. Date 类提供两个构造函数来实 ...
- Java日期时间实用工具类
Java日期时间实用工具类 1.Date (java.util.Date) Date(); 以当前时间构造一个Date对象 Date(long); 构造函数 ...
- Java 日期时间格式化
在此记录Java日期时间格式化转换符,方便以后有需要时查找. 1.日期格式化 2.时间格式化 3.格式化常见的日期时间组合
- Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)
Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();Sy ...
随机推荐
- windos下安装django
一:pip install Django 安装完以后,运行python manager.py runserver 0.0.0.0:8000报错: 1):没有安装Mysql-python ...
- Java继承(上)
继承的定义 在人类生活中的学徒关系,父子关系等等都属于继承: 但是在程序中是一种类与类的关系 在程序中可以使用父类的方法,也可以添加自己的方法,但是不能选择的继承,要继承就需要把所有的特点全部继承下来 ...
- linux命令行命令
Linux命令行编辑快捷键: history 显示命令历史列表 ↑(Ctrl+p) 显示上一条命令 ↓(Ctrl+n) 显示下一条命令 !num 执行命令历史列表的第num条命令 !! 执行上一条命令 ...
- EasyMock 模拟对象测试
一.EasyMock 使用动态代理实现模拟对象创建,一般可以满足以下测试需求 1.要测试的模块依赖于其它自己控制不了的模块,如第三方服务,其它组员在开发的服务等,它们都没办法配合你来测试: 2.涉及到 ...
- 小程序客服下发消息禁止后 session from 还有用吗?
文章概要 1. 小程序下发政策调整分析 2. session from 数据还传到底三方了没? 1. 小程序下发政策调整分析 小程序客服功能下发策略调整 ...
- PAT 甲级 1005 Spell It Right (20 分)
1005 Spell It Right (20 分) Given a non-negative integer N, your task is to compute the sum of all th ...
- PAT 乙级 1065 单身狗 (25 分)
1065 单身狗 (25 分) “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ 50 000),是 ...
- access数据库编号转换成统一3位数长度方法,不足3位前面补零
select C_CUN+Format(Val(NZ(C_LB)),"000") from LBM 这条SQL只能在access数据库中执行,因为sql不支持NZ函数,而且c_lb ...
- solr字段压缩属性compressed新版本已经移除
solr字段压缩属性compressed新版本已经移除 可能是考虑到压缩意义不大还减少搜索效率,所以去掉了.而且好像没有替代属性.
- eShopOnContainers 看微服务 ②:配置 启动
一.什么是docker Docker 是一个开源项目,通过把应用程序打包为可移植的.自给自足的容器(可以运行在云端或本地)的方式,实现应用程序的自动化部署. 使用 Docker 的时候,需要创建一个应 ...