Java中Date数据类型的数值转换方式
作者:bug
Java中Date数据类型的数值转换
Java与MySQL交互的数据类型
java1.1时,从 MySQL 中查询出来的时间日期类型,都放在 java.util.Date类型里面了,但是这个类提供的时间操作函数太少,一般都需要转换成 java.util.Calendar 再去操作。
然而使用了java.util.Calendar 也不是很方便,一个很简单的想法,需要写很多代码才能实现。
于是java 提供与 MySQL方便交互的三种数据类型:java.sql.Date、java.sql.Time、java.sql.Timestamp,它们都是继承java.util.Date,适合用于跟数据库交互。
MySQL中的时间类型和对应的Java类型
MySQL中的时间类型 | 对应的 Java 类型 |
---|---|
Date | java.sql.Date |
Year | java.sql.Date |
Time | java.sql.Time |
Datetime | java.sql.Timestamp |
Timestamp | java.sql.Timestamp |
Java 各种 Date 格式之间的转换
一、将 java.util.Date 格式转换成 String 格式
Date date = new Date(); // 获取当前系统时间 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式 String strTime = simpleDateFormat.format(date); // 格式转换 System.out.println(strTime); // 2019-06-10 17:32:05
二、将 java.util.Date 格式转换成 java.sql.Date 格式
Date date = new Date(); long longTime = date.getTime(); // 2019061017320511 java.sql.Date sDate = new java.sql.Date(longTime); System.out.println(sDate); // 2019-06-10
三、将 java.util.Date 格式转换成 Timestamp 格式
Date date = new Date(); Timestamp timestamp = new Timestamp(date.getTime()); System.out.println(timestamp); // 2019-06-10 17:32:05.11
四、将 String 格式转换成 java.util.Date 格式
String strTime = "2019-06-10 17:32:05"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = null; try { date = simpleDateFormat.parse(strTime); } catch (ParseException e) { e.printStackTrace(); } System.out.println(date); // Mon Jun 10 17:32:05 GMT+08:00 2019
Java常用到时间类型转换,基础数据类型转换
一些平时常用得时间转换方法
package com.baidu.gongyi.soa.controller; import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * * @author guoyunlong * */ public class test { public static void main(String[] args) throws ParseException { // 获取一天中早上6点 DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY, 6); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); Date m6 = c.getTime(); // 早上6点 String format2 = format1.format(m6); System.out.println(format2); // 获取一天中20:00 Calendar c1 = Calendar.getInstance(); c1.set(Calendar.HOUR_OF_DAY, 20); c1.set(Calendar.MINUTE, 0); c1.set(Calendar.SECOND, 0); Date m20 = c1.getTime(); // 晚上20点 String format20 = format1.format(m20); System.err.println(format20); /// // 获取一个当前时间 Date类型变量date Date date = new Date(); // 0. date转换为long类型 long time = date.getTime(); System.err.println(time); // 输出结果:1551152898496 // 1. 设置日期格式 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateTime = df.format(date); // 输出 System.err.println(dateTime); // 输出结果: 2019-02-26 11:45:15 // 2. Date转换为DateTime long longTime = date.getTime(); Timestamp timestamp = new Timestamp(longTime); System.err.println(timestamp); // 输出结果: 2019-02-26 11:45:15.922 // 3. String转换为Date String strTime = "2019-02-26 11:45:15"; SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date1 = sdf1.parse(strTime); System.err.println(date1); // 输出结果: Sun Sep 24 12:00:01 CST 2017 // 4. Date转换为String Date date2 = new Date(); DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String str1 = format.format(date2); System.err.println(str1); // 输出结果:2019-02-26 // 5. String转化为java.sql.Date String str2 = "2019-02-26"; SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); java.sql.Date sDate = null; java.util.Date date3 = sdf2.parse(str2); sDate = new java.sql.Date(date3.getTime()); System.err.println(sDate); // 输出结果: 2019-02-26 } }
基础数据类型转换
1>自动类型转换主要指小范围向大范围转换,在编译阶段自动完成。
2>强制类型转换主要指大范围向小范围转换,需要编写代码进行处理。
3>java为8中基本类型都提供了对应的包装类:
boolean对应Boolean、byte对应Byte、short对应Short、int对应Integer、long对应Long、char对应Character、float对应
Float、double对应Double,8种包装类都提供了一个parseXxx(String str)静态方法用于将字符串转换成基本类型。
1.转换成long型
Long/long num = Long.parseLong(String str);
或
long l = Long.parseLong([String],[int radix]); long l = Long.valueOf("123").longValue();
2.Integer转换成int的方法
Integer i = new Integer(10); int k = i.intValue();
即Integer.intValue();
3.int转换成Integer
int i = 10; Integer it = new Integer(i);
4.int转换成String
int i = 10; (1)String s = String.valueOf(i); (2)String s = Ingeger.toString(i); (3)String s = "" + i;
5.String转换成Integer
String str = "10"; Integer it = Integer.valueOf(str);
6.Integer转换成String
Integer it = new Integer(10); String str = it.toString();
7.String转换成BigDecimal
BigDecimal bd = new BigDecimal(str);
8.String转换成double型
double/Double num = Double.parseDouble(String str);
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。