java中日期地点类型,Java 日期类型

java.util.Date (yyyy-MM-dd HH:mm:ss)

Date日期类型在开发过程中主要用于

将日期按照一定的格式进行格式化String(格式化输出)

获取当前系统时间,new Date(), getTime(获取当前日期距离元年的ms数,返回类型为Long)

映射为数据库的Date类型

日期早晚的比较

而对于日期的计算,Date类型中获取年月日时分秒的方法都已经被废弃。

// String parse to Date

String dateStr = "2019-11-24 11:08:28";

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date strDate = format.parse(dateStr);

log.info("String parse to Date: " + strDate.toString());

// Date parse to String

String dateToStr = format.format(strDate);

Assert.assertEquals(dateStr, dateToStr);

log.info("Date parse to Date: " + dateToStr);

// Date parse to Long(Millisecond)/ms since January 1, 1970, 00:00:00 GMT

Long dateMillisecond = strDate.getTime();

log.info("Date parse to Millisecond: " + dateMillisecond);

// Long(Millisecond) parse to Date

Date millisecondDate = new Date(dateMillisecond);

Assert.assertEquals(millisecondDate, strDate);

log.info("Millisecond parse to Date: " + millisecondDate.toString());

// 日期早晚的比较,本质上是转换为毫秒数,再进行大小的比较

String startTime = "2019-11-24 19:40:00";

String endTime = "2019-11-24 19:50:00";

Date startDate = format.parse(startTime);

Date endDate = format.parse(endTime);

Assert.assertTrue(startDate.before(endDate));

Assert.assertTrue(endDate.after(startDate));

java.util.Calendar 日历

Calendar 日历类型主要用于

可以获取当前的年月日时分秒

可以和日期类型Date相互转换

用于日期的计算

java.util.Calendar在Java应用程序的操作中完全替代java.util.Date。

// 获取年,月,日,时,分,秒, 输出结果为: 2019年11月24日19时0分7秒, 注意月份从0开始

Calendar calendar = Calendar.getInstance();

log.info(calendar.get(Calendar.YEAR) + "年" + (calendar.get(Calendar.MONTH) + 1) + "月"

+ calendar.get(Calendar.DAY_OF_MONTH) + "日" + calendar.get(Calendar.HOUR_OF_DAY) + "时"

+ calendar.get(Calendar.MINUTE) + "分" + calendar.get(Calendar.SECOND) + "秒" );

// Calendar to Date

Date date = calendar.getTime();

// Date to Calendar

calendar.setTime(date);

// 获取下一年的日期, 获取前一年的日期

log.info(calendar.getTime().toString());

calendar.add(Calendar.YEAR, 1);

log.info(calendar.getTime().toString());

calendar.add(Calendar.YEAR, -1);

log.info(calendar.getTime().toString());

数据库类型映射

Java 不同的日期存储格式如下

java.util.Date : yyyy-MM-dd HH:mm:ss

java.sql.Date : yyyy-MM-dd

java.sql.Time : HH:mm:ss

java.sql.Timestamp : yyyy-MM-dd HH:mm:ss[.nanos] (毫微秒)

java.util.Date为java.sql.Date, java.sql.Time, java.sql.Timestamp的父类,子类对父类做了扩充和包装。

Mysql的日期类型存储格式如下

Date : yyyy-MM-dd

Datetime : yyyy-MM-dd HH:mm:ss

Time : HH:mm:ss

Timestamp : yyyy-MM-dd HH:mm:ss[.fraction] (毫秒)

Mysql 的Timestamp类型为时间戳,精确到ms,表示距离January 1, 1970, 00:00:00 GMT的时间差。

Mysql 的日期类型和Java的映射如下

java.util.Date // Datetime

java.sql.Date // Date

java.sql.Time // Time

java.lang.Long // Timestamp

Oracle的日期类型存储格式如下

DATE : yyyy-MM-dd HH:mm:ss

TIMESTAMP : yyyy-MM-dd HH:mm:ss[.nanos] (纳秒)

Oracle 的日期类型和Java的映射如下

java.util.Date// DATE

java.sql.Timesatmp // TIMESTAMP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值