社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
用long类型的变量用来表示时间,在计算机世界里,将1970年1月1日00:00:00定为基准时间
获取此时此刻的时间可以使用long now = System.currentTimeMillis();
获取电脑的时刻Date date = new Date(); System.out.println(date);
(导入包时导入util里面的Date)
使用gettime方法获取时间的毫秒关系
SimpleDateFormat类是DateFormat类的实现类
DateFormat类的作用时将时间对象和指定格式的字符串之间进行转化
将时间对象转成相应的字符串
public static void main(String[] args) {
//将时间对象按照格式字符串指定的格式转换成相应的字符串
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//因为DateFormat是抽象类,不能被new只能使用实现类创建对象
String string = dateFormat.format(new Date(2000));
System.out.println(string);
}
将字符串转成相应的时间
public static void main(String[] args) throws ParseException { //抛出异常
//将字符串按照格式字符串指定的格式转成相应的时间对象
DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = dateFormat2.parse("2020-3-11 10:15:36");
System.out.println(date);
}
Calendar 类是一个抽象类,提供了关于日期计算的相关功能
GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
月份是从0到11表示1到12月
获得日期
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar(2020,3,11,10,15,36);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int week = calendar.get(Calendar.DAY_OF_WEEK);//其中1代表星期天,2代表星期一,以此类推
int date = calendar.get(calendar.DATE);
System.out.println(year);
System.out.println(month); //3对应月份为4月
System.out.println(week);
System.out.println(date);
}
设置日期
Calendar calendar2 = new GregorianCalendar();//如果什么都不传,则输出的当前的日期
System.out.println(calendar2);
Calendar calendar3 = new GregorianCalendar();
calendar3.set(Calendar.YEAR,2022); //设置日期,将年份设置为2022年
System.out.println(calendar3);
计算日期
Calendar calendar4 = new GregorianCalendar();
calendar4.add(Calendar.DATE, 520); //计算当前日期再过520天的信息,是哪年哪月哪日
System.out.println(calendar4);
Calendar calendar4 = new GregorianCalendar();
calendar4.add(Calendar.DATE, -520); //计算当前日期之前520天的信息,是哪年哪月哪日
System.out.println(calendar4);
日历类与时间类的转化
public static void main(String[] args) {
Calendar calendar4 = new GregorianCalendar();
Date date2 = calendar4.getTime();
Calendar calendar5 = new GregorianCalendar();
calendar5.setTime(new Date());
printCalender(calendar5);
}
public static void printCalender(Calendar calendar) { //封装一个方法用来将日历类转化为时间并按照给定的格式输出
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int week = calendar.get(Calendar.DAY_OF_WEEK);
int day = calendar.get(Calendar.DAY_OF_MONTH);
String day1 = day == 0?"日":day+""; //将数字转化为字符串
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second= calendar.get(Calendar.SECOND);
System.out.println(year + "年" + month + "月" + day1 + "日" + "周" + week + " " + hour + "时" + minute + "分" + second + "秒");
}
package lu.study.o3;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class Calender {
public static void main(String[] args) throws ParseException {
System.out.println("请输入格式为年-月-日:"); //输入一个字符串
Scanner scanner = new Scanner(System.in);
String string = scanner.nextLine(); //获取键盘中所输入的日期字符串
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); //格式化字符串
Date date = dateFormat.parse(string); //生成对应的时间对象
Calendar calender = new GregorianCalendar();
calender.setTime(date); //将对应的字符串转化为对应的日期类
int day = calender.get(Calendar.DAY_OF_MONTH);//保存一下所输入的日期
int days = calender.getActualMaximum(Calendar.DATE); //利用get方法查看本月一共多少天
System.out.println("日t一t二t三t四t五t六");
calender.set(Calendar.DAY_OF_MONTH, 1);//将当前日期置为1
for (int i = 0; i < calender.get(Calendar.DAY_OF_WEEK) - 1; i++) {
System.out.print("t");
}
for (int i = 1; i <= days; i++) { //循环打印日期
if (day == calender.get(Calendar.DAY_OF_MONTH)) { //打印时判断当前打印的数是否等于输入的日期
System.out.print(calender.get(Calendar.DAY_OF_MONTH)+ "*t");
}else {
System.out.print(calender.get(Calendar.DAY_OF_MONTH)+ "t");
}
//如果等于7时,进行换行操作
if (calender.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
System.out.println();//换行
}
calender.add(Calendar.DAY_OF_MONTH,1); //每打完一次就加1天
}
}
}
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!