关于数据库日期操作的杂七杂八【格式化、互转、比较】
来源:互联网 发布:有网络但微信发不出去 编辑:程序博客网 时间:2024/05/01 21:14
1、java String与Date类型之间的相互转换
package
test;
import
java.text.DateFormat;
import
java.text.SimpleDateFormat;
import
java.text.ParseException;
import
java.util.Date;
public
class
StringOrDate {
public
static
String dateToString(Date date, String type) {
String str =
null
;
DateFormat format =
new
SimpleDateFormat(
"yyyy-MM-dd"
);
if
(type.equals(
"SHORT"
)) {
// 07-1-18
format = DateFormat.getDateInstance(DateFormat.SHORT);
str = format.format(date);
}
else
if
(type.equals(
"MEDIUM"
)) {
// 2007-1-18
format = DateFormat.getDateInstance(DateFormat.MEDIUM);
str = format.format(date);
}
else
if
(type.equals(
"FULL"
)) {
// 2007年1月18日 星期四
format = DateFormat.getDateInstance(DateFormat.FULL);
str = format.format(date);
}
return
str;
}
public
static
Date stringToDate(String str) {
DateFormat format =
new
SimpleDateFormat(
"yyyy-MM-dd"
);
Date date =
null
;
try
{
// Fri Feb 24 00:00:00 CST 2012
date = format.parse(str);
}
catch
(ParseException e) {
e.printStackTrace();
}
//以上这种转出来不能直接参与和数据库date的比较
// 2012-02-24
date = java.sql.Date.valueOf(str);
return
date;
}
public
static
void
main(String[] args) {
Date date =
new
Date();
System.out.println(StringOrDate.dateToString(date,
"MEDIUM"
));
String str =
"2012-2-24"
;
System.out.println(StringOrDate.stringToDate(str));
}
}
2、java.sql.Date.valueOf和java.sql.Timestamp.valueOf
要说明的是如果采用的是
java.sql.Date.valueOf,
比较的时候,如2012-05-09如果存在数据库的是datetiime会有2012-05-09 00:00:00以后的都不会被查询出来就是当天的查询不出来。要实现能查询出来则要使用
java.sql.Timestamp.valueOf
在开始时间写撑yyyy-mm-dd 00:00:00 截至时间写成yyyy-mm-dd 23:59:59就能查询到当天的了3、关于日期比较
如果一个时间段好像用.>/<=。时间区间貌似就不行了。时间区间的话在sql中用between记得时间要加引号
在hql中的话setDate记得里面的date用的是java.sql.date火车java.sql.timestamp
格式化Hibernate的SQL输出语句
今天在网上看到这么一段,很实用:如果想要仔细看Hibernate生成的SQL语句,将format_sql设为true可以很大程度地减轻痛苦……
hibernate.format_sql = true
配置文件则加<property name="format_sql">true</property>
再加上这个的话:
hibernate.use_sql_comments = true
[可读性 + 可定位性]会更好
不过,这两个一起来的话也会造成SQL在console中显示的篇幅很大。
- 关于数据库日期操作的杂七杂八【格式化、互转、比较】
- 关于数据库日期的比较
- 日期操作(日期加减,格式化,比较)
- 关于MySQL杂七杂八的一些操作
- 关于日期的比较
- 关于json的杂七杂八
- 数据库的日期操作
- 日期时间的操作比较
- 关于日期的操作
- 关于日期的操作
- java 日期的格式化、解析、数据库相关操作、获取系统时间、String与Date的转换
- <Oracle>数据库中关于时间/日期的操作
- 关于日期格式化的一个小问题
- 关于日期格式化的两种方式
- 关于json返回日期格式化的解决方案
- 关于json返回日期格式化的解决方案
- iOS关于日期格式化字符串的问题
- 关于json返回日期格式化的解决方案
- 一些IT职业随想
- GDB 多线程环境调试
- java动态代理
- CCLabelTTF尽量使用setPosition而不是使用.position属性,否则可能不显示
- 互联网项目管理要点
- 关于数据库日期操作的杂七杂八【格式化、互转、比较】
- sql2005 数据库部分表数据迁移
- FAILED DESTINATION
- UIPopoverController 取消箭头
- 参数CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISOTRY
- 怎样学习使用libiconv库
- php-Arrays 函数-array_intersect_uassoc-带索引检查计算数组的交集,并用回调函数比较索引
- 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)
- libiconv.so.2: cannot open shared object file: No such file or directory