作者:手浪用户2602881857 | 来源:互联网 | 2023-10-17 13:56
DateFormat 和SimpleDateFormat示例(时间格式的书写)packagecn.date;importjava.text.DateFormat;importjav
DateFormat 和 SimpleDateFormat
示例(时间格式的书写)
package cn.date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test02 {
public static void main(String[] args) {
DateFormat d=new SimpleDateFormat("yyyy年-MM月-dd日 hh:mm:ss"); //设置时间格式
Date s=new Date(); //当前时间
String str=d.format(s); //将时间对象按照格式化字符串 ,转换为字符串
System.out.println(str);
String str2="1998-5-20";
DateFormat dd=new SimpleDateFormat("yyyy-MM-dd");
try {
Date ss=dd.parse(str2); //将字符串解析为带有固定格式的字符串,并把它给Date对象。注意:格式要一致
System.out.println(ss);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
结果
Calendar (日历)(日期类)(日期加法)
示例
package cn.date;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class TestClendar {
public static void main(String[] args) {
Calendar c=new GregorianCalendar(); //Calendar是抽象类,不能建对象,要用到他的子类。
c.set(2019, 7,15,18,07,36); //设置日期
Date d=c.getTime(); //得到设定日期 ,没有设值的话,返回当前时间。
// c.setTime(new Date());
System.out.println(d);
// System.out.println(c.get(Calendar.YEAR));
//加法
c.add(Calendar.YEAR, 30);
Date m=c.getTime();
System.out.println(m);
}
}
结果
可视化的日历 (挺有意思)
代码示例:
package cn.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 Visual {
public static void main(String[] args) {
System.out.println("请输入日期(按格式:2019-5-6):");
Scanner scanner=new Scanner(System.in); //输入日期,按格式 ------ System.in输入流
String temp=scanner.nextLine(); //返回输入的结果,给temp变量。
// String temp="2019-2-15"; 这是写死的
DateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
try {
Date d= dateformat.parse(temp); //将字符串解析为带有固定格式的字符串,并把它给Date对象。
Calendar calendar=new GregorianCalendar();
calendar.setTime(d);
int day=calendar.get(Calendar.DATE); //获取到当前日期 15;
// System.out.println(day); //打印
calendar.set(Calendar.DATE, 1); //把日期设成2019-2-1,接着查看他是第几天,从而确定它在日历中的位置
// System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //打印查看2月1日是这周的第几天。6 表示星期五,则星期五为2月1号这一天
// System.out.println(calendar.getActualMaximum(Calendar.DATE)); //这个月的最多天数
int MaxDay=calendar.getActualMaximum(Calendar.DATE); //把天数提取出来
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i System.out.print("\t");
}
//可视化日历
for(int i=1;i<=MaxDay;i++) {
if(i==day) {
System.out.print("*"); //如果打印到当天就打印个星星“*”
}
System.out.print(i+"\t");
int w=calendar.get(Calendar.DAY_OF_WEEK); //得到2019-2-2是这周的第几天
if(w==Calendar.SATURDAY) { //如果是这周的第七天,也就是周六,则换行。
System.out.print("\n");
}
calendar.add(Calendar.DATE, 1); //日期加一,变为2019-2-2;
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}打印结果