一、Calendar如何创建对象

public abstract class Calendar 他是一个抽象类,它不能通过new+构造方法的方式构建对象

java自动添加创建时间 java创建日期对象_java


Calendar类的定义和它的protected修饰符修饰的构造方法,决定Calendar类的对象创建和特殊,不会是new+构造方法的方式

java自动添加创建时间 java创建日期对象_shell_02


//创建Calendar类对象

Calendar calendar=Calendar.getInstance();

日历的作用1.看日子 2.定日子

java自动添加创建时间 java创建日期对象_python_03


java自动添加创建时间 java创建日期对象_java_04

package com.wangxing.test1;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestCalendar {
    public static void main(String[] args) {
        //创建Calendar类对象
        Calendar calendar = Calendar.getInstance();
        //int get(int field) 返回给定日历字段的值。  
        //int field---给定的日历字段
        //YEAR---年
        System.out.println("YEAR--" + calendar.get(Calendar.YEAR));
        //MONTH --月【从0开始数】
        System.out.println("MONTH--" + (calendar.get(Calendar.MONTH) + 1));
        //DAY_OF_MONTH--月中的天
        System.out.println("DAY_OF_MONTH--" + calendar.get(Calendar.DAY_OF_MONTH));
        //DAY_OF_WEEK---周中的星期【从星期天开始数】
        System.out.println("DAY_OF_WEEK--" + calendar.get(Calendar.DAY_OF_WEEK));
        //DAY_OF_YEAR---年中的天
        System.out.println("DAY_OF_YEAR--" + calendar.get(Calendar.DAY_OF_YEAR));
        //WEEK_OF_YEAR--年中的周
        System.out.println("WEEK_OF_YEAR--" + calendar.get(Calendar.WEEK_OF_YEAR));
        //WEEK_OF_MONTH--月中的周 
        System.out.println("WEEK_OF_MONTH--" + calendar.get(Calendar.WEEK_OF_MONTH));
        //set(int year, int month, int date, int hourOfDay, int minute, int second) 
        //设置字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY , MINUTE和 SECOND 。
        calendar.set(2020, 9, 1, 12, 30, 30);
        Date date = calendar.getTime();
        System.out.println(date);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
        String newdate = sdf.format(date);
        System.out.println(newdate);
    }
}

二、Date类创建对象及常用方法
Date类:java.util.Date 子类:java.sql.Date
Date类的定义:public class Date

构造方法:
Date() :创建一个 Date对象,保存了当前系统时间。【格式不符合我们的认识】
Date(long date) :创建一个 Date对象,保存的是从标准基准时间即1970年1月1日00:00:00 GMT到当下所经过的毫秒数的当下时间。
date :1970年1月1日00:00:00 GMT以来的毫秒数。
实例方法:
boolean after(Date when)测试此日期是否在指定日期之后。
boolean before(Date when) 测试此日期是否在指定日期之前。
boolean equals(Object obj) 比较两个日期来平等。【Date重写过】
long getTime() 返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒 数 。
void setTime(long time) 设置此 Date对象以表示1970年1月1日00:00:00 GMT后的 time毫秒的时间点。
String toString() 将此 Date对象转换为 String的形式

package com.wangxing.test1;
import java.util.Date;
public class TestDate {
	public static void main(String[] args) {
		//Date() 创建一个 Date对象,保存了当前系统时间。【格式不符合我们的认识】
		Date  date1=new Date();
		System.out.println(date1);
		//Date(long date) 创建一个 Date对象,保存的是从标准基准时间即1970年1月1日00:00:00 GMT到当下所经过的毫秒数的当下时间。
		//参数date - 1970年1月1日00:00:00 GMT以来的毫秒数。 
		Date  date2=new Date(8000);
		System.out.println(date2);
		//通过Date(long date)得到当前系统时间?
		//1.得到1970年1月1日00:00:00 GMT以来的毫秒数
		long  haomiao=System.currentTimeMillis();
		 System.out.println(haomiao);
		Date date3=new Date(haomiao);
		System.out.println(date3);
		/*
		boolean after(Date when)测试此日期是否在指定日期之后。  
		boolean before(Date when) 测试此日期是否在指定日期之前。  
		*/
		boolean flag1=date1.after(date2);
		System.out.println(flag1);
		boolean flag2=date1.before(date2);
		System.out.println(flag2);
		//long getTime() 返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒 数 。 
        long hm=date1.getTime();
        System.out.println(hm);
        //void setTime(long time) 设置此 Date对象以表示1970年1月1日00:00:00 GMT后的 time毫秒的时间点。  
        date1.setTime(8000);
        System.out.println(date1);
        //String toString() 将此 Date对象转换为 String的形式
        String strdate=date1.toString();
        System.out.println(strdate);
	}
}

二、SimpleDateFormat类创建对象及常用方法
java.text.SimpleDateFormat :格式化和解析日期
SimpleDateFormat() 使用默认的时间日期格式
SimpleDateFormat(String pattern) 使用给定的时间日期格式
参数:String pattern【描述日期和时间格式的模式】

时间格式的模式
y—年【yyyy/1998,yy/98】
M–月【MM/08】
d—日【dd/23】
H—时【HH/12】
m–分【mm/23】
s—秒 【ss/56】
S–毫秒【sss/768】
E–星期【E/星期三】
“yyyy年MM月dd日 HH:mm:ss E”
“yyyy/MM/dd HH:mm:ss E”
“yyyy-MM-dd HH:mm:ss E”
“yyyy/MM/dd E HH:mm

java自动添加创建时间 java创建日期对象_python_05

package com.wangxing.test1;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo1 {
	public static void main(String[] args)throws Exception{
		/*将时间转换成指定格式的字符串形式
		//得到当前系统时间
		Date  date1=new Date();
		System.out.println(date1);
		//创建一个固定的格式
		String  geshi="yyyy/MM/dd E HH:mm";
		//创建一个时间日期格式化对象
		SimpleDateFormat  sdf=new SimpleDateFormat(geshi);
		//开始格式化时间日期
		String stringdate=sdf.format(date1);
		System.out.println(stringdate);
		*/
		
		//指定格式的字符串形式的时间日期转换成java.util.Date对象
		String strytime="2020/08/20 星期四 15:33";
		//创建一个固定的格式
		String  geshi="yyyy/MM/dd E HH:mm";
		//创建一个时间日期格式化对象
		SimpleDateFormat  sdf=new SimpleDateFormat(geshi);
		//解析时间日期字符串成Date
		Date  date2=sdf.parse(strytime);
		System.out.println(date2);
	}
}

三、Math类有哪些常用方法

Math定义public final class Math

Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。

Math里面的变量和方法都是静态的,因此是不需要对象访问,通过类型就可以直接调用

java自动添加创建时间 java创建日期对象_shell_06

package com.wangxing.test1;
public class MathTest {
	public static void main(String[] args) {
		System.out.println("自然常数=="+Math.E);
		System.out.println("圆周率=="+Math.PI);
		/*
		static long round(double a) 
		返回参数中最接近的 long ,其中 long四舍五入为正无穷大。  
		static int round(float a) 
		返回参数中最接近的 int ,其中 int四舍五入为正无穷大。 
		*/
		System.out.println("round(11.5)=="+Math.round(11.5));
		System.out.println("round(-11.5)=="+Math.round(-11.8));
		//A 12,-12  B 11,-11  C 12,-11 D 11,-12
		//static double	random() 返回值为 double值为正号,大于等于 0.0 ,小于 1.0随机数 。 
		System.out.println("random()=="+Math.random());
		//得到一个1--10之间的随机数
		int num=((int)(Math.random()*10))+1;
		System.out.println("num=="+num);
		if(num>7) {
			System.out.println("中奖");
		}else {
			System.out.println("没有中奖");
		}
	}
}

四、Scanner类的用法

Scanner:从控制台获取输入的数据值。

常用的构造方法

Scanner(InputStream source): 通过一个字节输入流对象创建Scanner对象。

参数:InputStream source【字节输入流对象–读取数据】

System.in:字节输入流对象【标准”输入流–键盘输入】

创建对象:Scanner s = new Scanner(System.in);

java自动添加创建时间 java创建日期对象_python_07

package com.wangxing.test1;
import java.util.Scanner;
public class ScannertTest1 {
	public static void main(String[] args) {
		//创建Scanner类对象
		Scanner  input=new Scanner(System.in);
		System.out.println("请输入学生编号:");
		int id=input.nextInt();
		System.out.println("请输入学生姓名:");
		String name=input.next();
		System.out.println("请输入学生身高:");
		double height=input.nextDouble();
		System.out.println("是否毕业:");
		boolean biye=input.nextBoolean();
		System.out.println("你录入的学生信息是:");
		System.out.println(id+"--"+name+"--"+height+"--"+biye);
	}
}

五、正则表达式的创建和使用
①String类的matchs匹配正则表达式

package com.wangxing.test1;
import java.util.Scanner;
public class TestRegex1 {
	public static void main(String[] args) {
		//创建一个正则表达式
		String regex="^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$";
		Scanner  read=new Scanner(System.in);
		System.out.println();
		String phone=read.next();
		boolean flag=phone.matches(regex);
		if(flag) {
			System.out.print("你输入的手机号码合法!!");
		}else {
			System.out.print("手机号码不合法!!");
		}
	}
}

②java.util.regex 包主要包括以下两个类
Pattern 类:【创建】
pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。
Matcher 类:【匹配】
Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

package com.wangxing.test1;
import java.util.Scanner;
import java.util.regex.Pattern;
public class TestRegex2 {
    public static void main(String[] args) {
        Scanner read = new Scanner(System.in);
        System.out.println("请输入手机号码");
        String phone = read.next();
        //创建一个正则表达式
        String pattern = "^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$";
        boolean flag = Pattern.matches(pattern, phone);
        if(flag) {
            System.out.print("你输入的手机号码合法!!");
        } else {
            System.out.print("手机号码不合法!!");
        }
    }
}
package com.wangxing.test1;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegex3 {
	public static void main(String[] args) {
		// 按指定模式在字符串查找
	    String line = "This order was placed for QT3000! OK?";
	    String pattern = "(\\D*)(\\d+)(.*)";
	    // 创建 Pattern 对象
	    Pattern r = Pattern.compile(pattern);
	    // 现在创建 matcher 对象
	    Matcher m = r.matcher(line);
	    if (m.find( )) {
	         System.out.println("Found value: " + m.group(0) );
	         System.out.println("Found value: " + m.group(1) );
	         System.out.println("Found value: " + m.group(2) );
	         System.out.println("Found value: " + m.group(3) ); 
	      } else {
	         System.out.println("NO MATCH");
	      }
	}
}