java中实现把String类型的时间转换成Time类型的时间可以使用SimpleDateFormat来转换。
具体事例代码实现如下:
public class Demo2 {
public static void main(String[] args) {
String str = "2015-01-01 12:12:12";//定义一个字符型的时间
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = (Date) simpleDateFormatparse(str);//将这个字符型的时间转换成Date型的时间
} catch (ParseException e) {
eprintStackTrace();
}
Systemoutprintln(datetoString());
}
}
SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出。
javasqlDate 是 javautilDate的子类,父类可以定义子类,但是当将祖先类示例强制转换成子孙类示例的时候,一些子孙类有的行为祖先是没有的。
读:数据库 -> java对象:
JDBC规范已经定义好了,虽然rsgetDate("字段名")返回javasqlDate,但用父类javautilDate来定义对象是可以的。如:
javautilDate obj = rsgetDate("字段名");
写:java对象 -> 数据库:
PreparedStatementsetDate(x, new javasqlDate(new javautilDate()getTime()));
根据API
javasqlDate是javautilDate的子类。
javautilDate() dateUtil=new javautilDate();
javasqlDate dateSql=new javasqlDate(dateUtilgetTime());
而javasqlDate转为javautilDate就简单了。
javautilDate() newDate=dateSql;(多态)
将javautilDate类型的日期以YYYY-MM-DD格式转换为字符串形式
String dateStr=new SimpleDateFormat("YYYY-MM-DD")format(new Date());
将字符串转换为Date类型。
Date dateTemp=new SimpleDateFormat("YYYY-MM-DD")parse("2012-12-21");
区别:
JavautilDate 是 javasqlDate 的父类(注意拼写) 前者是常用的表示时间的类,通常格式化或者得到当前时间都是用
后者之后在读写数据库的时候用,因为PreparedStament的setDate()的第2参数和ResultSet的 getDate()方法的第2个参数都是javasqlDate
转换是 javasqlDate date=new JavasqlDate(); javautilDate d=new javautilDate (dategetTime()); 反过来是一样的。javautilDate实际是一个时间戳,数值是年月日包括当前的时间 javasqlDate也是一个时间戳,但把当前的时间剪掉了,保证一定是那个日期的0点0分0秒的时间戳
所以如果用new javautilDate()会得到当前时间 但如果用new javasqlDate(new javautilDate()getTime()),得到的时间会是那一天的0点0分0秒
格式如下:
javautilDate 是 年-月-日 时:分:秒毫秒
javasqlDate 是 年-月-日 javasqlTime 是 时:分:秒
javasqlTimestamp 是 年-月-日 时:分:秒
1、将javautilDate 转换为 javasqlDate
javasqlDate sd;
javautilDate ud;
//initialize the ud such as ud = new javautilDate();
sd = new javasqlDate(udgetTime());
2、若要插入到数据库并且相应的字段为Date类型 可使用PreparedStatementsetDate(int ,javasqlDate)方法 其中的javasqlDate可以用上面的方法得到
也可以用数据库提供TO_DATE函数 比如 现有 ud TO_DATE(new SimpleDateFormat()format(ud,"yyyy-MM-dd HH:mm:ss"), "YYYY-MM-DD HH24:MI:SS")
注意java中表示格式和数据库提供的格式的不同 sql="update tablename set timer=to_date('"+x+"','yyyymmddhh24miss') where "
这里的x为变量为类似:20080522131223
3、如何将"yyyy-mm-dd"格式的字符串转换为javasqlDate
方法1 SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateStringToParse = "2007-7-12";
try{ javautilDate date = bartDateFormatparse(dateStringToParse);
javasqlDate sqlDate = new javasqlDate(dategetTime());
Systemoutprintln(sqlDategetTime()); }
catch (Exception ex) {
Systemoutprintln(exgetMessage()); }
方法2
String strDate = "2002-08-09";
StringTokenizer st = new StringTokenizer(strDate, "-");
javasqlDate date = new javasqlDate(IntegerparseInt(stnextToken()),IntegerparseInt(stnextToken()),IntegerparseInt(stnextToken()));
javautilDate和javasqlDate的区别
javasqlDate,javasqlTime和javasqlTimestamp三个都是javautilDate的子类(包装类)。
javasqlDate是为了配合SQL DATE而设置的数据类型。“规范化”的javasqlDate只包含年月日信息,时分秒毫秒都会清零。格式类似:YYYY-MM-DD。
当调用ResultSet的getDate()方法来获得返回值时,java程序会参照"规范"的javasqlDate来格式化数据库中的数值。因此,如果数据库中存在的非规范化部分的信息将会被劫取。
在sun提供的ResultSetjava中这样对getDate进行注释的: Retrieves the of the designated column in the current row of this <code>ResultSet</code> object as a “javasqlDate” object in the Java programming language
同理。如果把一个javasqlDate值通过PrepareStatement的setDate方法存入数据库时,java程序会对传入的javasqlDate规范化,非规范化的部分将会被劫取。
然而,javasqlDate一般由javautilDate转换过来,如:javasqlDate sqlDate=new javasqlDate(new javautilDate()getTime())
显然,这样转换过来的javasqlDate往往不是一个规范的javasqlDate要保存javautilDate的精确值, 需要利用javasqlTimestamp Calendar:
Calendar calendar=CalendargetInstance(); //获得当前时间,声明时间变量
int year=calendarget(CalendarYEAR); //得到年
int month=calendarget(CalendarMONTH); //得到月,但是,月份要加上1
month=month+1;
int date=calendarget(CalendarDATE);
//获得日期 String today=""+year+"-"+month+"-"+date+"";
区别:
javautilDate 就是在除了SQL语句的情况下面使用,javasqlDate 是针对SQL语句使用的,它只包含日期而没有时间部分
相互转化:
javautilDate 是 javasqlDate 的父类(注意拼写)。
前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他后者之后在读写数据库的时候用他,因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是javasqlDate 。
转换是
javasqlDate date=new JavasqlDate();
javautilDate d=new javautilDate (dategetTime());
反过来是一样的
Java和SQL都是编程语言,详细的就不说了。
举个例子:在一个仓库,java就是各种工作人员。而SQL就是一种工作人员在仓库获取所需品的方法。
String str="2004-05-14 21:29:51";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = sdfparse("2004-05-14 21:29:51");
date就是mysql数据库能识别的日期类型。
1、user_name,以及time是sqlserver中的关键字建议更名
2、最后的那个地方order by 要和IPADDRESS空出格
这样就能编译成功了。另外java可以连接好多数据库包括sqlserver,肯定支持datetime类型,试着从网上下载一些驱动包(jar),用的时候导入,并在程序中import相应的类包。
以下链接你可以参考一下:java中的日期和sql中的日期转换
以上就是关于在java中如何实现把String类型转化为Time类型,例如:hh:mm:ss格式全部的内容,包括:在java中如何实现把String类型转化为Time类型,例如:hh:mm:ss格式、java.util.Date 和 MySQL 中 DATETIME 数据类型怎么转换、如何将java.util.date装换为指定格式的java.sql.date、比如将当前时间转换为YYYY-MM-DD格式的日期存入字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)