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 2019Java常用到时间类型转换,基础数据类型转换
一些平时常用得时间转换方法
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);
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
