java属性日期_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

二、各个类之间的关系

0113f0c03b98cf55b804ff238c8f90ac.png

三、常见问题及解决

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值