zoukankan      html  css  js  c++  java
  • java对象属性为date oracle数据库字段为Timestamp 处理方式

    解决方案 
    SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    java.util.Date date11 = df1.parse("2010-6-2 16:10:38.00"); 
    String time = df1.format(date11); 
    Timestamp ts = Timestamp.valueOf(time); 
    注:这里需要注意的是在jdk6高级版本当中必须进行入上的操作,不然会报告 
    java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff] 如此的错误。。。 
    

      

    其他知识
    
    
    一.获取系统当前时间: 
    1.System.out.println(new Timestamp(new java.util.Date().getTime));    //包含时分秒 
    2.System.out.println(new java.sql.Date(new java.util.Date().getTime));    //不包含时分秒 
    3.通过格式化类获取任意格式的时间 
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss SSS"); String time = sdf.format(Calendar.getInstance().getTime()); System.out.println(time); 
    sql包的Date类没有无参的构造函数,而util的Date类有无参的构造函数 
    java.util.Date date = new java.util.Date();是正确的   //Tue Jun 15 09:04:23 CST 2010 
    java.sql.Date date = new java.sql.Date();是错误的 
    但是sql包的Date有一个带long型参数的构造函数,因此可以使用以下方式 
    
    
    java.sql.Date date = new java.sql.Date(new java.util.Date().getTime());   //2010-6-17 
    
    new java.util.Date():构造函数没有接受任何参数. 而这个构造函数在内部使用了System.currentTimeMillis() 方法来从系统获取日期. 下面是util包的Date的构造方法: 
    public Date() { this(System.currentTimeMillis()); } 
    
    
    
    还发现一件怪异的事情: 
    // String转化成date String str = "9-29-2001"; 
    System.out.println(java.sql.Date.valueOf(str)); 
    输出: 
    0016-10-21 
    真是奇怪. 
    三. Date转化成String 
    //Date转化成String: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); 
    System.out.println(sdf.format(new Date())); 
    输出: 
    2010-06-17 16:30:21 781 
    四. Timestamp转化成String 
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒 
    Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间 
    String str = df.format(now); 
    System.out.println(str); 
    输出: 
    2010-06-17 16:46:34 
    五. String转化成Timestamp 
    SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    java.util.Date date11 = df1.parse("2010-6-2 16:10:38.00"); 
    String time = df1.format(date11); 
    Timestamp ts = Timestamp.valueOf(time); 
    注:这里需要注意的是在jdk6高级版本当中必须进行入上的操作,不然会报告 
    java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff] 如此的错误。。。 
    
    System.out.println(ts); 
    输出: 
    2010-06-02 16:10:38.0
    

      

  • 相关阅读:
    网上邻居无法打开的问题 客户端无法连接打印机问题
    今天一天下午到晚上都在研究如何刷手机,要是被领导知道我帮同学在刷手机系统,非开除我不可。还是贴出来,以后少走弯路吧
    “屏幕保护程序”没有出现“在恢复时使用密码保护”的解决方法
    NOD 32客户端安装时出现的问题
    [模板]二叉树的前、中、后序遍历
    [算法]浅谈求n范围以内的质数(素数)
    [模板]二叉搜索树
    [OI]Noip 2018 题解&总结(普及)
    Centos7.2安装git(源码安装)
    Centos7.2安装maven
  • 原文地址:https://www.cnblogs.com/qinyios/p/11238113.html
Copyright © 2011-2022 走看看