JAVA知识点总结-08/9

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>笔记</title>
</head>
<body>
  <h4>Date:</h4>
           默认获取的是当前的日期时间
           Date d = new Date();
  System.out.println(d);    //输出的是默认风格的日期


  获取日期对象的毫秒值:
  System.currentTimeMillis();
  new Date().getTime()


  把当前日期按照指定的毫秒值进行设定
           Date d2=new Date(1492851628576l);
           System.out.println(d2);


           public void setTime(long time):设置日期对象的毫秒值
           Date d3=new Date();
           d3.setTime(1492851657);
           System.out.println(d3);






  <h4>DateFormat</h4>
    1.格式化:Date -- String
      方法: format(Date d)方法:
      需求:格式化日期,将默认风格输出的日期转换为另一种默认风格的输出
      用法:调用SimpleDateFormat类中的format(Date d)方法
      代码:Date d = new Date();    //创建当前日期对象
            SimpleDateFormat sdf = new SimpleDateFormat();  
            String dateStr = sdf.format(d);   //调用它的方法
            System.out.printl(datestr);  


      输出的转变: Thu Apr 27 20:20:29 CST 2017  -----> 17-4-27 下午8:20  
      
    2.格式化:
       方法:SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             format(Date d)方法
       需求: 按照自己指定的一种风格将日期格式化
       代码:Date d = new Date(); 
  SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr2 = sdf2.format(d);
System.out.println(dateStr2);


//格式成什么类型的东西用什么类型的对象去接受




     3.解析:String -- Date
        方法:Date parse(String s)
        需求:将字符串类型的日期还原成系统默认风格
        代码:String dateStr = "2017-04-22 16:11:56"; //创建一个日期字符串
              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
              //括号内的风格必须和字符串内的风格相同
              Date d = sdf.parse(dateStr);
              System.out.println(d);


        输出转变:2017-04-22 16:11:56---->Sat Apr 22 16:11:56 CST 2017     


   
   <h4>DateUtils</h4>
         需求:
                1.让外界无法创建这个类的对象
  2.设置的方法直接可以通过类名调用
  3.可以获取 yy年MM月dd日
  4.可以获取 HH:mm:ss
  5.可以获取 yy-MM-dd HH:mm:ss


  代码: public static String getDate() {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yy年MM月dd日");
String dateStr = sdf.format(d);
return dateStr;
     }


     DateUtils.getDate();






   完成:输入自己的出生年月和现在的日期,算出自己活了多少天
代码实现:   Scanner sc = new Scanner(System.in);
System.out.println("请输入出生日期:");
String s1 = sc.nextLine();
System.out.println("请输入现在的日期:");
String s2 = sc.nextLine();


// 将日期字符串转换成日期的默认风格:
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = s.parse(s1);
Date d2 = s.parse(s2);


long d3 = d1.getTime();
long d4 = d2.getTime();
long time3 = Math.abs(d4 - d3) / 1000 / 60 / 60 / 24;
System.out.println(time3);


<h4>Calendar</h4>
  概念: 它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等          
         日历字段之间的转换提供了一些方法
  方法: public int get(int field):返回给定日历字段的值
        //获取日历对象
Calendar c = Calendar.getInstance();

//获取年份
System.out.println(c.get(Calendar.YEAR));

//获取月份
System.out.println(c.get(Calendar.MONTH)+1);

//获取日期
System.out.println(c.get(Calendar.DATE));

//或取小时
System.out.println(c.get(Calendar.HOUR));

//获取分钟
System.out.println(c.get(Calendar.MINUTE));

//获取秒数
System.out.println(c.get(Calendar.SECOND));




        实现:任意一年的二月有多少天?
          Scanner sc = new Scanner(System.in);
//1.获取键盘录入的年份
int year = sc.nextInt();

//2.将日历设置成录入年份的3月1号
Calendar c = Calendar.getInstance();   //创建对象
c.set(year, 2,1);

//3.将日期字段向后推1天
c.add(Calendar.DATE, -1);

//4.获取此时的日期字段值
System.out.println("二月份有"+c.get(Calendar.DATE)+"天");




<h4>正则表达式</h4>
  用法:  String reg = "1[38][0-9]{9}";
               String number = "13245678901";
  System.out.println(number.matches(reg));  //返回值为boolean类型


  正则表达式的规则直接百度;


  1. 分割功能:public String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。
     代码实现: String s2 = "aa.bb.cc";
String reg2 = "\\.";
String[] strS2 = s2.split(reg2);
for (int i = 0; i < strS2.length; i++) {
System.out.println(strS2[i]);


/**
* 需求2:
  我有如下一个字符串:”91 27 46 38 50”
  请写代码实现最终输出结果是:”27 38 46 50 91”
  
  1.切割字符串
  2.转换成int值存入数组
  3.排序
  4.遍历数组,用sb进行拼接
*/

String s  = "91 27 46 38 50";
//1.切割字符串
String reg = " ";
String[] strS = s.split(reg);
//2.转换成int值存入数组
int[] arr = new int[strS.length];

for (int i = 0; i < strS.length; i++) {
arr[i] = Integer.parseInt(strS[i]);
}

// 3.排序
Arrays.sort(arr);
//System.out.println(Arrays.toString(arr));
//4.遍历数组,用sb进行拼接
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]+" ");
}

System.out.println(sb.toString()); 


  2. 替换功能: public String replaceAll(String regex,String      
                replacement):把符合regex的用replacement替换


     代码实现: // 需求:字符串中的数字使用*代替
// public String replaceAll(String regex,String
// replacement):把符合regex的用replacement替换
String s = "我的银行卡号是:6103320894945843";
String reg = "\\d";
String newStr = s.replaceAll(reg, "*");
System.out.println(newStr);            
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值