A, Date class
1 Overview
- Date class represents a specific moment, with millisecond precision
- At 0:00 on January 1, 1970 the number of milliseconds 0 minutes, 0 seconds from this event (time stamp)
- A method for obtaining timestamp
getTime()
- Setting method timestamp
setTime()
2, the configuration method
public Date()
// Create a Date object based on the current default value in millisecondspublic Date(long date)
// Create a Date object based on the given millisecond value
package riqi; import java.util.Date; public class DateDemo { public static void main(String[] args){ Date d1 = new Date(); System.out.println(d1);//返回当前时间 System.out.println(d1.getTime());//返回时间戳 long time = System.currentTimeMillis();//返回当前的计算机时间距1970年1月1日的毫秒数 System.out.println(time); long t = 1000 * 60 * 60;//一小时 Date d2 = new Date(t); System.out.println(d2);//返回:Thu Jan 01 09:00:00 CST 1970 } }
3, member methods
public long getTime()
public void setTime(long time)
Two, DateFormat class
1 Overview
- DateFormat is an abstract class for date, time formatting subclasses
- It is an abstract class, subclass SimpleDateFormat
2, SimpleDateFormat constructor
public SimpleDateFormat()
public SimpleDateFormat(String pattern)
package riqi; import java.text.SimpleDateFormat; import java.util.Date; public class DateDemo { public static void main(String[] args){ Date d1 = new Date();//创建对象 long time1 = d1.getTime();//获取时间戳 System.out.println(d1); System.out.println(time1); System.out.println("---------------------------"); //设置时间 d1.setTime(0); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); System.out.println(sdf.format(d1)); } }
3, DateFormat member methods
public final String format(Date date)
public Date parse(String source)
package riqi; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateDemo { public static void main(String[] args) throws ParseException { //Date->String Date d1 = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 SSS毫秒"); String s = sdf.format(d1); System.out.println(s); System.out.println("---------------------------"); //String->Date String str = "2018年8月8日 12时12分12秒"; SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); Date d2 = sdf2.parse(str); System.out.println(d2); } }
4, case
count how many days you come to this world
package riqi;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class DateDemo {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的出生年月日");
String s = sc.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date birthday = sdf.parse(s);
long cu = System.currentTimeMillis();//获取系统时间
long l = cu - birthday.getTime();//你度过的毫秒数
long d = l / (1000 * 60 * 60 * 24);
System.out.println("您度过了"+d+"天");
}
}
Three, Calendar class
1 Overview
- Calendar: intent: Calendar, schedule
- Calendar class is an abstract class that provides a transition between the writing method and a calendar field set a specific instant
package riqi; import java.util.Calendar; public class CanlendarDemo { public static void main(String[] args){ Calendar now = Calendar.getInstance();//子类对象 int year = now.get(Calendar.YEAR);//获取年 int month = now.get(Calendar.MONTH);//获取月 int day = now.get(Calendar.DATE);//获取日 System.out.println(year+"年"+(month + 1)+"月"+day+"日"); } }
2, members of the method
public static Calendar getInstance()
public int get(int field)
public void add(int field,int amount)
public final void set(int year,int month,int date)
package riqi; import java.util.Calendar; public class CanlendarDemo { public static void main(String[] args){ Calendar c = Calendar.getInstance();//默认是当前时间 // 获取年 int year = c.get(Calendar.YEAR); // 获取月 int month = c.get(Calendar.MONTH); // 获取日 int date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); // 5年后的10天前 c.add(Calendar.YEAR, 5); c.add(Calendar.DATE, -10); // 获取年 year = c.get(Calendar.YEAR); // 获取月 month = c.get(Calendar.MONTH); // 获取日 date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); System.out.println("--------------"); c.set(2011, 11, 11); // 获取年 year = c.get(Calendar.YEAR); // 获取月 month = c.get(Calendar.MONTH); // 获取日 date = c.get(Calendar.DATE); System.out.println(year + "年" + (month + 1) + "月" + date + "日"); } }
3, case
获取任意一年的二月有多少天 package riqi; import java.util.Calendar; import java.util.Scanner; public class CanlendarDemo { public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入年份:"); int year = sc.nextInt(); Calendar c = Calendar.getInstance();//设置对象的年月日 c.set(year,2,1); c.add(Calendar.DATE,-1); System.out.println(c.get(Calendar.DATE)); } }