java.sql.Date和java.sql.Timestamp转换
转自:https://www.xuebuyuan.com/1479399.html
在开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换。若对应数据库数据是oracle的Date类型,即只需要年月日的,可以选择使用java.sql.Date类型,若对应的是MSsqlserver数据库的DateTime类型。
既需要年月日时分秒的,选择java.sql.Timestamp类型。你可以使用dateFormat定义时间日期的格式,转一个字符串即可。
package personal.jessica;
import java.util.Date;
import java.util.Calendar;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;
class Datetest{
/**
*method 将字符串类型的日期转换为一个timestamp(时间戳记java.sql.Timestamp)
*@param dateString 需要转换为timestamp的字符串
*@return dataTime timestamp
*/
public final static java.sql.Timestamp string2Time(String dateString)
throws java.text.ParseException {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);//设定格式
//dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
//Timestamp类型,timeDate.getTime()返回一个long型
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());
return dateTime;
}
/**
*method 将字符串类型的日期转换为一个Date(java.sql.Date)
*@param dateString 需要转换为Date的字符串
*@return dataTime Date
*/
public final static java.sql.Date string2Date(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
return dateTime;
}
public static void main(String[] args){
Date da = new Date();
//注意:这个地方da.getTime()得到的是一个long型的值
System.out.println(da.getTime());
//由日期date转换为timestamp
//第一种方法:使用new Timestamp(long)
Timestamp t = new Timestamp(new Date().getTime());
System.out.println(t);
//第二种方法:使用Timestamp(int year,int month,int date,int hour,int minute,int second,int nano)
Timestamp tt = new Timestamp(Calendar.getInstance().get(
Calendar.YEAR) - 1900, Calendar.getInstance().get(
Calendar.MONTH), Calendar.getInstance().get(
Calendar.DATE), Calendar.getInstance().get(
Calendar.HOUR), Calendar.getInstance().get(
Calendar.MINUTE), Calendar.getInstance().get(
Calendar.SECOND), 0);
System.out.println(tt);
try {
String sToDate = "2005-8-18";//用于转换成java.sql.Date的字符串
String sToTimestamp = "2005-8-18 14:21:12.123";//用于转换成java.sql.Timestamp的字符串
Date date1 = string2Date(sToDate);
Timestamp date2 = string2Time(sToTimestamp);
System.out.println("Date:"+date1.toString());//结果显示
System.out.println("Timestamp:"+date2.toString());//结果显示
}catch(Exception e) {
e.printStackTrace();
}
}
}///:~
怎样处理一个时间段,比如某人登陆了xx天xx小时xx分xx秒。
这个问题可以如下处理:
首先你肯定可以从数据库中读取这个用户第一次登陆的具体时间:不妨为2002-01-01 12:00:00
同样他到目前为止最后登陆的具体时间:不妨为2002-09-08 13:14:15
若取得是数据本来就是时间类型的,则不用转化,若是String的则可以在转化后处理。
你可以利用类似上面的例子,取得这两个时间对应的Timestamp值dateTime;然后使用dateTime.getTime()方法得到这两个时间的long值,进行相减(大的减小的,即按时间后减先),得到一个long值,它是用毫秒milliseconds计算的,你将它换算一下就知道多少天多少小时多少分多少秒了,比如首先除于(java中/除)一天的毫秒数,得到天,然后用余下的值除于一小时的毫秒数,得到小时……最后就可以得到所有的需求了。
转载于:https://www.cnblogs.com/sharpest/p/11234236.html
java.sql.Date和java.sql.Timestamp转换相关推荐
- java.sql.timestamp_java.sql.Date和java.sql.Timestamp转换
在开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换.若对应数据库数据是oracle的Date类型,即只需要年月日的,可以选择使用java.sql.Date类 ...
- java.util.Date、java.sql.Date和java.sql.Timestamp之间的转换
背景描述 在编写程序的时候有时候需要对java.util.Date.java.sql.Date和java.sql.Timestamp等日期时间类型进行转换 方法简述 将A(a)这种日期时间类型转换成B ...
- mysql java.util.date_jdbc-java.sql.date和java.util.date之间转换
?处理数据库数据时我们经常要封装到javaBean对象中,或者把用户传递的传输赋给数据库例:resultSet.setDate(int,Date); 这样就存在一个问题,javaBean中的对象穿梭于 ...
- java date只保留年月日_java.util.Date、java.sql.Date、java.sql.Timestamp区别和总结
在web开发中,避免不了对日期的操作,就几种常见的日期操作做个总结(部分参考网络,在此表示感谢): java.util.Date.java.sql.Datej.java.sql.Timestamp j ...
- java.sql.Date引发的日期格式转换错误
记一次springboot开发中使用jackson进行时间格式化时,由于实体类定义的时间类型为java.sql.Date导致格式化转换错误 前端获取到的结果: 数据库存储的时间: 分析: java.s ...
- 取java.sql.date日期_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...
1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...
- 如何将java.util.Date转换为java.sql.Date?
我试图使用java.util.Date作为输入,然后用它创建一个查询-所以我需要一个java.sql.Date . 我很惊讶地发现它不能隐式或显式地进行转换-但我什至不知道该怎么做,因为Java AP ...
- java中将date插入mysql中date_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...
1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...
- java.util.Date与 java.sql.Date两个包下Date的区别与联系
一般我在项目中导入需要的包,大部分情况下都会根据IDE的提示自动导入默认的包,少数情况下会扫一眼,看看是不是需要的包,极少情况会斟酌一下,确认一下这就是需要的包. 最近在项目中导入JDK中的Date包 ...
最新文章
- 如何在 GPU 上优化卷积
- Beetlsql自定义生成entity,mapper,md代码
- 2019年前端的3个趋势
- python3 isinstance用法_对python中assert、isinstance的用法详解
- leetcode116. 填充每个节点的下一个右侧节点指针
- phoenix-sqlline 连接失败
- 动态规划——节点选择(蓝桥杯试题集)
- AD 组策略应用与排错(2排错)
- Base64编码对照表
- python获取月份 pos_python – 如何从POS标记单词列表中提取模式? NLTK
- 第一次做web项目购物网站项目总结
- PCB板上的蓝宝石---关于光学定位点的DFM
- JavaScript中栈内存与堆内存分别是什么?
- b站爬虫,用于查询主播舰队用户等级构成
- 你有没有被人不动声色的保护过?
- php递归函数return问题
- STM32配置DAC输出固定电压和方波
- ESP32 LVGL8.1 ——Style local style 样式当地的风格 (Style 11)
- ORA-12899: value too large for column 问题解决
- bat 输入密码_不记得密码了?教你查看设备保存的账号密码,绝对干货
热门文章
- 教会你怎么安装和使用 Visio 哦 ~ ~
- 白月黑羽教程小收获记录-python基础
- 华为matepad切换电脑模式_华为matepadpro可以当电脑用吗,华为matepad pro怎么切换电脑模式...
- crash 和 anr的区别
- 强大的密码破解工具:hashcat简介与用法介绍与实例
- XSS Challenges/刷题/Stage #4
- PX4通过I2C方式添加自定义传感器(2)
- 什么是集成成像(Integral Image)
- 英汉互译在线翻译器-大家都在用的英汉互译翻译器
- c++文件操作案例-----创建文本文件