java中怎样将字符串转换成日期形式存入数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎样将字符串转换成日期形式存入数据库相关的知识,希望对你有一定的参考价值。

java将字符串转换成日期,可以使用格式类,实例如下:

public static Date dateTimeString2Date(String date_str) 
        try 
            Calendar cal = Calendar.getInstance();//日期类
            java.sql.Timestamp timestampnow = new java.sql.Timestamp(cal.getTimeInMillis());//转换成正常的日期格式
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            ParsePosition pos = new ParsePosition(0);
            java.util.Date current = formatter.parse(date_str, pos);
            timestampnow = new java.sql.Timestamp(current.getTime());
            return timestampnow;
        
        catch (NullPointerException e) 
            return null;
        
    
参考技术A 这种东西可以通过SQL来实现,如果是ORACLE,那么使用to_date(birthday,'yyyymmdd')
如果是mysql date_format函数转换,自己百度搜数据库时间函数
你使用代码转换有一个不好的就是,SimpleDateFormat如果遇到数据不对的情况,他会返回一个时间,但是是错误的时间,你不容易发现本回答被提问者和网友采纳
参考技术B 这什么数据库。改成date类型看看。追问

mysql

改成date也是出现这样的错误

追答

类中日期类型改成String

参考技术C 不就是你写的这样吗追问

追答

mysql数据库与java 类型对应:
date java.sql.Date
datetime java.sql.Timestamp
timestamp java.sql.Timestamp
time java.sql.Time
year java.sql.Date

js日期转换成字符串

用js获取当前系统时间年月日再把它专函长String字符串的形式例如变成20141008

你好,js中Date类没有直接格式化的方法,所以需要自己写,你只需将下列代码在格式化前加入,即可使用。代码摘自http://www.jb51.net/article/22657.htm。使用方法如下:new Date().format('yyyyMMdd');

Date.prototype.format = function(format) 
var o =  
"M+" : this.getMonth()+1, //month 
"d+" : this.getDate(), //day 
"h+" : this.getHours(), //hour 
"m+" : this.getMinutes(), //minute 
"s+" : this.getSeconds(), //second 
"q+" : Math.floor((this.getMonth()+3)/3), //quarter 
"S" : this.getMilliseconds() //millisecond 
 

if(/(y+)/.test(format))  
format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
 

for(var k in o)  
if(new RegExp("("+ k +")").test(format))  
format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length)); 
 
 
return format; 

参考技术A <script type="text/javascript">
                var now = new Date();
                var year = now.getFullYear();
                var month =(now.getMonth() + 1).toString();
                var day = (now.getDate()).toString();
                if (month.length == 1) 
                    month = "0" + month;
                
                if (day.length == 1) 
                    day = "0" + day;
                
                var dateTime = year + month +  day;
                document.write(dateTime);
 </script>

本回答被提问者采纳

以上是关于java中怎样将字符串转换成日期形式存入数据库的主要内容,如果未能解决你的问题,请参考以下文章

R语言怎样将日期字符串转换成时间戳

PLSQL中SQL语句怎样转换日期型函数为字符型?

java中日期格式的转换,String类型的如:03/Jun/2013这种格式的,怎样转换成yyyy-mm-dd格式的?

如何将JAVA DATE类型的日期 转换成指定格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?

将日期转换成标准年月日时分秒形式插入数据库

在SQL中怎样把字符型的数据转换成日期型的呢