JAVA的时间类使用(通过编写一个日历学习)

Jessica ·
更新时间:2024-11-10
· 879 次阅读

JAVA的时间类使用(通过编写一个日历学习)

今天是小贤的第一篇文章,希望自己能够坚持,为自己鼓鼓掌
时间类的使用是经常用到的,为此小贤通过学习,写了一个日记的小程序来体会时间类的用法。

Date
(1)创建一个代表系统当前日期的Date对象

Date d = new Date();

(2)创建一个代表1970年1月1日 00:00:00加上输入参数的毫秒数的Date对象

long second=1000; Date d = new Date(second);

(3)创建一个我们指定的时间的Date对象:
使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。

//创建一个代表2014年6月12号的Date对象 Date d1 = new Date(2014-1900, 6-1, 12); (注意参数的设置) (小提示:该方法已经被废弃replaced by Calendar.set(year + 1900, month, date) * or GregorianCalendar(year + 1900, month, date).) Calendar calendar = new GregorianCalendar(); calendar.set(2020,2-1,2);

(4)正确获得一个date对象所包含的信息
如:
Date d2 = new Date(2014-1900, 6-1, 12);

//获得年份 (注意年份要加上1900,这样才是日期对象d2所代表的年份) int year = d2.getYear() + 1900; //获得月份 (注意月份要加1,这样才是日期对象d2所代表的月份) int month = d2.getMonth() + 1; //获得日期 int date = d2.getDate(); //获得小时 int hour = d2.getHours();//不设置默认为0 //获得分钟 int minute = d2.getMinutes(); //获得秒 int second = d2.getSeconds(); //获得星期 (注意:0代表星期日、1代表星期1、2代表星期2,其他的一次类推了) int day = d2.getDay();

Calendar
(1)获取当前时间的Calendar

Calendar calendar =Calendar.getInstance();

或者

Date date = new Date(); Calendar calendar = new GregorianCalendar(); calendar.setTime(date);

(2)获取当前日期的日 和 设置当前日期的日

int day = calendar.get(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH,1);

(3)将当前日期的日加一日

calendar.add(Calendar.DAY_OF_MONTH,1);

(4)Calendar类的常量

Calendar.YEAR——年份 Calendar.MONTH——月份 Calendar.DATE——日期 Calendar.DAY_OF_MONTH——日期,和上面的字段意义相同 Calendar.HOUR——12小时制的小时 Calendar.HOUR_OF_DAY——24小时制的小时 Calendar.MINUTE——分钟 Calendar.SECOND——秒 Calendar.DAY_OF_WEEK——星期几

(5)Calendar还提供了很多方法,就不不一一说明了
boolean isLeapYear(int year) 确定给定的年份是否为闰年
compareTo() 比较日期的方法
DateFormat
(1)将指定格式的日期字符串转为日期类(常用日期格式 yyyy-MM-dd hh:mm:ss)

DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String loveDay = "2020-02-02"; Date love = df.parse(loveDay );

(2)将日期类转为字符串日期

DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date love = df.parse(2020-1900,2-1,2); String loveDay = df.format(love); package Date; 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 DateTest { public static void main(String[] args) { System.out.println("请输入日期:(2020-02-14)"); Scanner scanner = new Scanner(System.in); String src = scanner.nextLine(); String temp = src; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); try { Date date = df.parse(temp); Calendar calendar = new GregorianCalendar(); calendar.setTime(date); int day = calendar.get(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH,1); System.out.println("日\t一\t二\t三\t四\t五\t六"); for (int i=1;i<calendar.get(Calendar.DAY_OF_WEEK);i++){ System.out.print("\t"); } int maxDate = calendar.getActualMaximum(Calendar.DATE); for (int i=1;i<= maxDate;i++){ if(day == i){ System.out.print(calendar.get(Calendar.DAY_OF_MONTH)+"*\t"); }else { System.out.print(calendar.get(Calendar.DAY_OF_MONTH)+"\t"); } if(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY){ System.out.println(); } calendar.add(Calendar.DAY_OF_MONTH,1); } } catch (ParseException e) { e.printStackTrace(); } } }

在这里插入图片描述
蟹蟹大家花宝贵的时间来浏览小贤的文章,在往后的学习中如果小编用上其他关于日期类的方法,小贤会补充上去。
同时也希望大家能说说你们常用的一些日期类方法,让小贤学习学习。
蟹蟹大家来说说有哪些地方写错了,好让小贤即使调整改正。

也许 你曾被生活辜负 但沿着善良 总会闻到花香


作者:蜡笔小贤@&*



java的 学习 JAVA

需要 登录 后方可回复, 如果你还没有账号请 注册新账号