JAVA 插入日期时间的实用方法

<pre name="code" class="java">//方法一、数据库中的字段类型为: varchar() 【本人最喜欢用的,处理方便】
简化为一行:
String timeNow=  new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new  java.util.Date());
/*…………………………………………………………………………………………………*/ 
//方法二、数据库里面的字段类型为:date() 
      简化为一行:
java.sql.Date sql_Date=new java.sql.Date(new java.util.Date().getTime()); 
将字符串转为 Date:
java.sql.Date NET_TIME=Date.valueOf("2013-12-25");
/*…………………………………………………………………………………………………*/ 
//方法三:将String型时间转换为Timestamp型
//数据库里的字段类型为:datetime或者Timestamp(更精确)
//1)jsp文件中,生成时间格式,显示到页面:
    java.sql.Date sql_Date=new java.sql.Date(new java.util.Date().getTime()); 
//2)表单提交:action="servlet.do?sql_Date=<%=sql_Date%>"
//3)java 类中,接受表单传过来的 字符串 类型的 日期,再转换【String转为Timestamp 】 
    java.sql.Timestamp ks_time_start= Timestamp.valueOf( (String)request.getParameter("sql_Date") ); 
//直接新建 Timestamp 类型的时间(yyyy-mm-dd hh:mm:ss ):
    java.sql.Timestamp ts = new Timestamp(new java.util.Date().getTime());
    java.sql.Timestamp INSERT_TIME  =Timestamp.valueOf(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new  java.util.Date()));
/*…………………………………………………………………………………………………*/ 
1、Oracle中字段类型为 Date:
1)Java中读取操作的处理方法如下:
   1>DAO中用“rs.getTimestamp("INSERT_TIME")”(可以读取日期和时间),不用“rs.getDate("INSERT_TIME")”(只能读取日期);
   2>在 显示方式 上(在JSP、Servlet等中),可以格式化:
     String INSERT_TIME= new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DTO.getINSERT_TIME());
2)Java中写入操作的处理方法如下:
   1>首先取得 Timestamp 类型的时间:
     java.sql.Timestamp INSERT_TIME = Timestamp.valueOf("2013-12-25 11:28:33"); 
     或者 
     java.sql.Timestamp INSERT_TIME  =Timestamp.valueOf(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new  java.util.Date()));
   2>接着封装进DTO等,传到DAO中,转为字符串格式:
     String INSERT_TIME  = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(DTO.getINSERT_TIME ());
   3>在 SQL 中 用 to_date() 函数:
     update table set INSERT_TIME   =to_date('" + INSERT_TIME   + "','YYYY-MM-DD HH24:MI:ss') "    where  .... 
        
/*…………………………………………………………………………………………………*/ 
获取上个月的今天,并且格式化伟字符串:
最终表达式如下:(结果类似:201401)
String c_time = new java.text.SimpleDateFormat("yyyyMM").format(DateUtil.nextMonth(new  java.util.Date(),-1));  

依赖方法如下:
DateUtil 类中的 nextMonth() 方法:
    /**
     * 取得指定日期过 months 月后的日期 (当 months 为负数表示指定月之前);
     * 
     * @param date
     *          日期 为null时表示当天
     * @param month
     *          相加(相减)的月数
     */
    public static Date nextMonth(Date date, int months) {
        Calendar cal = Calendar.getInstance();
        if (date != null) {
            cal.setTime(date);
        }
        cal.add(Calendar.MONTH, months);
        return cal.getTime();
    }



 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值