zoukankan      html  css  js  c++  java
  • java.util.Date与java.sql.Date

    我数据库里用到了日期类型。用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明Date类型

    Date dt;

    会报错,查了一下才发现有java.util.Date和java.sql.Date,在定义日期类型的时候要使用全名,就是像这样:

    java.util.Date udt;

    java.sql.Date sdt;

    然后我就查java.util.Date和java.sql.Date的区别和用法,这方面网上资料挺全,我就不赘述了,大致区别就是java.util.Date支持日期和时间,而java.sql.Date只支持日期。后面我还用到了String转java.sql.Date,这个在网上也能查到,我简要介绍我比较喜欢的一种方法。

    首先,准备一个SimpleDateFormat对象,使用SimpleDateFormat类需要import java.text.SimpleDateFormat

    SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”);//yyyy-MM-dd为我们想要转换成的日期格式,一会儿被转换的字符串也应按这个格式来写

    然后,准备一个java.util.Date对象和待转换的字符串

    String str = ”2011-06-30”;//这里不能写成2011/06/30或其他样子,会报错,只能按目标日期格式来yyyy-MM-dd

    java.util.Date udt = null;

    然后用df将str转换成java.util.Date,并赋值给udt

    udt = df.parse(str);

    然后再从udt获得我们需要的java.sql.Date

    java.sql.Date sdt = new java.sql.Date(udt.getTime());

    总结一下就是先用SimpleDateFormat将待转换成日期的字符串格式化成java.util.Date类型,然后再从得到的java.util.Date对象得到java.sql.Date对象,我们可以将它写成一个函数,代码如下:

    public java.sql.Date stringToSQLDate(String str){

    SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);

    Java.util.Date udt=null;

    try{

    udt = sdf.parse(str);

    }catch(Exceprion e){

    e.printStackTrace();

    }

    java.sql.Date sdt = new java.sql.Date(udt.getTime());

    return sdt;

    ——弹指间,青丝白雪,佳人谁负?——
  • 相关阅读:
    nginx 过滤了自定义的请求头参数
    Mysql5.7查看已经执行的sql语句
    Reids5 持久化
    JS 格式化时间,转成 几天前,几个月前
    个人小镜像站点
    记录一次清理Redis 病毒程序 kdevtmpfsi
    laravels 热重启
    Redis 布隆器安装和简单实现
    Redis Zset类型跳跃表算法实现(JAVA)
    Redis5 基于Lua实现分布式排它锁
  • 原文地址:https://www.cnblogs.com/dige1993/p/4603406.html
Copyright © 2011-2022 走看看