今天是小贤的第一篇文章,希望自己能够坚持,为自己鼓鼓掌
时间类的使用是经常用到的,为此小贤通过学习,写了一个日记的小程序来体会时间类的用法。
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();
}
}
}
蟹蟹大家花宝贵的时间来浏览小贤的文章,在往后的学习中如果小编用上其他关于日期类的方法,小贤会补充上去。
同时也希望大家能说说你们常用的一些日期类方法,让小贤学习学习。
蟹蟹大家来说说有哪些地方写错了,好让小贤即使调整改正。
也许 你曾被生活辜负 但沿着善良 总会闻到花香