java初级应用----格式化---日期与时间格式化+普通字符串的格式化

问题描述:

  1. 日期与时间的格式化
    • 实际编程过程中,常常要输出日期与时间,也需要对日期与时间进行格式化输出 
    • 日期与时间都可以转化成String对象,所以可以使用String类中的format()函数对日期与时间字符串进行格式化。
    • 待格式化日期通过Date对象给出。
    • 需要先编写格式化字符串来指定期望的格式 
  2. 其他普通字符串的格式化
    • 待格式化对象可以是任何其他类型,不一定非得是Date对象 
    • 也需要需要先编写格式化字符串来指定期望的格式 ,但是涉及的转义符和“”1.日期与时间的格式化“”中涉及的转义符不同
  3.   

编程思路:

概述:日期与时间的格式化   和     其他普通类型对象的格式化     在编程中有诸多相似之处

    • 首先,都是使用String 类中的format()函数
    • 其次,都需要编写格式化字符串来指定期待的格式

     但是,也有诸多不同之处

    • 首先,用于编写格式化字符串的转义 符号不同(具体不同之处请看step2) 
    • 其次,待格式化对象不同,日期与时间格式化时待格式化对象是Date实例,而其他普通类型对象格式化中待格式化对象可以是任何其他类型   

step1,明确String类中format()函数有两种重载形式:

  • public static String format(String format, Object ... args)

          功能:使得字符串按照参数所指定的格式被格式化,并且格式化之后的新字符串使用本地默认的语言环境

              @param formatString  通过此参数说明期待的格式

              @param argsObject  可以有0个或者多个该类型参数

                    该类型参数是参数formatString中所引用的变量

              @return 按照要求格式化所得的新的字符串

  • public static String format(Locale l, String format, Object ... args)

    备注:这个函数和上述函数唯一的不同之处在于,这个函数可以通过参数Locale 来指定格式化过程中所使用的语言环境而上述函数只能默认地使用本地语言环境

      如果l:Locale为null,则不对待格式化的字符串进行本地化,(也即不改变待格式化的字符串所使用的的语言)

      如果l:Locale不为null,则对待格式化的字符串进行本地化(也即将待格式化的字符串由它本身所在的语言环境变成l:Locale所指定的语言环境)

step2,明确上述函数中的formatString参数应该怎样编写

  1. 日期与时间的格式化
    • 会使用一些特殊符号来表示所期待的日期与时间格式(Date对象的格式化)

  2.用于普通类型待格式化对象的转换符(非Date对象的格式化)

    概述:上述转换符用于日期与时间的格式化,也即上述转化符只能用于Date对象的格式化;

       下面的转换符可以用于任何参数类型的格式化:  

      

应用实例:

1.格式化日期和时间字符串

      

    • /**
       * @author lxrm
       * @date 20170304
       * @description 本程序讲解如何将日期与时间进行格式化,使得Date对象所表示的日期与时间
       *             变成我们想要的格式
       * 编程思路:
       *         使用java.lang.String类中的format()函数来实现日期与时间字符串的格式化*/
      package char_and_string;
      
      import java.util.Date;
      
      public class Application1_format_DateAndTime {
          public static void main(String[] args){
              Date date=new Date();
              /*用法一:先用format()函数获得单个的String对象(如日、月、年)
               *             然后按照想要的格式将单个String对象组合成自己想要的表现形式
               */        
              String month=String.format("%tm", date);
              String day=String.format("%td", date);
              String hour=String.format("%tH", date);
              String minute=String.format("%tM", date);
              String second=String.format("%tS", date);
              System.out.println("今天是"+month+"月"+day+"日");
              System.out.println("时间 :"+hour+"时"+minute+"分"+second+"秒");
              
              /*用法二:直接使用格式字符串中完整的格式,获得同时包含有“日、月、年”的String对象
               * 
               */
              String formatedDate=String.format("%tF", date);
              System.out.println("日期:"+formatedDate);
              
          }
      }

2.格式化除了Date对象之外的其他类型对象

    • /*用法三:格式化除了Date型对象之外,其他类型的对象
               * */
              String hex=String.format("%x", 400);//将400格式化为16进制的字符串
              String octal=String.format("%o", 400);//将400格式化为8进制的字符串
              //String scientificNotation=String.format("%e", 400);//bug:报错?        使用科学计数法表示400
              System.out.println("\nString.format()函数用于格式化其他类型对象:");
              System.out.println("400的十六进制形式:"+hex);
              System.out.println("400的八进制形式:"+octal);
              //System.out.println("400的科学计数法表示形式:"+scientificNotation);

       

                     

 

4)

转载于:https://www.cnblogs.com/lxrm/p/6427866.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值