日期对象转成字符串三种实现格式

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;



public class Dates {

       /* java.text.Format
        *   |--java.text.DateFormat
        *       |--java.text.SimpleDateFormat   
        */




    public static void main(String[] args) throws InterruptedException {


        //Dates.getDate_01();//默认风格

        //Dates.getDate_02();//默认指定风格

        Dates.getDate_03(); //自定义风格

    }




    public static void getDate_03() throws InterruptedException {

        /* 字母  日期或时间元素  表示  示例  
            G  Era 标志符  Text  AD  
            y  年  Year  1996; 96  
            M  年中的月份  Month  July; Jul; 07  
            w  年中的周数  Number  27  
            W  月份中的周数  Number  2  
            D  年中的天数  Number  189  
            d  月份中的天数  Number  10  
            F  月份中的星期  Number  2  
            E  星期中的天数  Text  Tuesday; Tue  
            a  Am/pm 标记  Text  PM  
            H  一天中的小时数(0-23)  Number  0  
            k  一天中的小时数(1-24)  Number  24  
            K  am/pm 中的小时数(0-11)  Number  0  
            h  am/pm 中的小时数(1-12)  Number  12  
            m  小时中的分钟数  Number  30  
            s  分钟中的秒数  Number  55  
            S  毫秒数  Number  978  
            z  时区  General time zone  Pacific Standard Time; PST; GMT-08:00  
            Z  时区  RFC 822 time zone  -0800  
        */

        //"yyyy年 MM月 dd日 k时 m分 s秒 S毫秒 z时区"
        for(;;){

            Thread.sleep(1000);//线程睡眠1000毫秒 
            Date date= new Date();//创建分Date实例,分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 

            //指定自定义风格 用SimperDateformat类去完成自定义风格设置
            DateFormat dateFormat= new SimpleDateFormat("yyyy年 MM月 dd日 k时 m分 s秒 S毫秒 z时区");

            //返回值String接收对象!
            String str= dateFormat.format(date);
            System.out.println(str);
        }
    }




    public static void getDate_02() {

        Date date=new Date();

        //(DateFormat.FULL 既年月日+星期)  (DateFormat.LONG既年月日) (DateFormat.SHORT短风格)
        DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);

        //指定日期和时间风格(DateFormat.FULL, DateFormat.LONG)
         dateFormat= DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.LONG);

        /*
         * 打印dateFormat对象的值可以看出 其子类是SimpleFormat
         * System.out.println(dateFormat);
         */

         String str = dateFormat.format(date);
        System.out.println(str);
    }




    public static void getDate_01() {
        Date date =new Date();

        /*
         * Api当中 可以看出 DeteFormat这个是日期/时间格式化子类的抽象类
         * 同时又提供了一个静态工厂方法获取对象 ,获取日期格式对象
         * 此 DateFormat可以看出是单列设计模式
         * */

        //获取日期格式对象,具备着默认风格  
        DateFormat dateFormat= DateFormat.getDateInstance();

        /*
         *  String dateFormat= DateFormat.getDateInstance().getDateTimeInstance().format(date);
         * 可以合并成一句话完成   此分段写法 主要考虑到DateFormat.format(date)和 DateFormat.getDateTimeInstance()
         * 返回值的映射关系
        */ 

        // 获取时间格式 对象  具备着默认风格 , 返回的是DateFormat 的引用;
        dateFormat=DateFormat.getDateTimeInstance();

        String str=  dateFormat.format(date);

        System.err.println(str);
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值