javase复习——Date

概述

一般情况下我们常用的是util包下的date,sql包下的date只会在sql语句中使用,其中sql.Date是util.Date的子类。

sql.Date和util.Date的转换

//sql.Date 到util.date的转换
java.sql.Date date=new java.sql.Date();
java.util.Date d=new java.util.Date(date.getTime());

//util.Date到 sql.Date的转换
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());

SimpleDateFormat的使用

java.lang.Object
|
+—-java.text.Format
   |
   +—-java.text.DateFormat
      |
      +—-java.text.SimpleDateFormat
SimpleDateFormat 类是DateFormat 类的子类,可以将日期以指定的格式输出字符串,也可以把指定的字符串转换成日期。

日期转换成字符串

        public static void main(String[] args) {
            SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
            SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
            SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
            SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
            SimpleDateFormat myFmt4=new SimpleDateFormat(
                    "一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
            Date now=new Date();
            System.out.println(myFmt.format(now));
            System.out.println(myFmt1.format(now));
            System.out.println(myFmt2.format(now));
            System.out.println(myFmt3.format(now));
            System.out.println(myFmt4.format(now));
            System.out.println(now.toGMTString());
            System.out.println(now.toLocaleString());
            System.out.println(now.toString());
        }

结果如下

Connected to the target VM, address: '127.0.0.1:13394', transport: 'socket'
2019072219353219/07/22 19:35
2019-07-22 19:35:32
20190722193532秒 星期一 
一年中的第 203 天 一年中第30个星期 一月中第4个星期 在一天中19时 CST时区
22 Jul 2019 11:35:32 GMT
2019-7-22 19:35:32
Mon Jul 22 19:35:32 CST 2019
Disconnected from the target VM, address: '127.0.0.1:13394', transport: 'socket'

把给定的字符串中的日期提取为Date

public static void main(String[] args) {
      String strDate = "2008-10-19 10:11:30.345" ;
      // 准备第一个模板,从字符串中提取出日期数字
      String pat1 = "yyyy-MM-dd HH:mm:ss.SSS" ;
      // 准备第二个模板,将提取后的日期数字变为指定的格式
      String pat2 = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒" ;
      SimpleDateFormat sdf1 = new SimpleDateFormat(pat1) ;        // 实例化模板对象
      SimpleDateFormat sdf2 = new SimpleDateFormat(pat2) ;        // 实例化模板对象
      Date d = null ;
      try{
          d = sdf1.parse(strDate) ;   // 将给定的字符串中的日期提取出来
      }catch(Exception e){            // 如果提供的字符串格式有错误,则进行异常处理
          e.printStackTrace() ;       // 打印异常信息
      }
      System.out.println(sdf2.format(d)) ;    // 将日期变为新的格式
  }

结果如下

2008年10月19日 10时11分30秒345毫秒

日期格式模板

需要转换的字符串的格式如下,这只是一些简单的格式
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值