day23
继续昨天的Date类内容
实例
1.定义一个日期类,将格式化和解析写成方法(静态)封装
import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;
public class DateUtils{
private DateUtils(){}//将无参构造私有化,外界就不能建立DateUtils的对象
public static String dateToString(Date date,String format)
{
SimpleDateFormat f = new SimpleDateFormat(format);
String s=f.format(date);
return s;
}
public static Date stringToDate(String s;String format) throws ParseException
{
SimpleDateFormat f = new SimpleDateFormat(format);
Date d = f.parse(s);
return d;
}
}
2.在测试类中调用类名.方法使用
import java.util.Date;
import java.text.ParseException;
public class DateDemo
{
public static void main(String[] args)
{
Date d = new Date();
String s = DateUtils.DateToString(d,"yyyy MM dd HH mm ss");
System.out.println(s);//2021 08 03 17 15 59
String s1 ="2048-08-09 12:12:12";
Date dd = DateUtils.stringToDate(s,"yyyy-MM-dd HH:mm:ss");
System.out.println(dd);//Sun Aug 09 12:12:12 CST 2048
}
}
7.Calendar类(日历类)要导包
7.1常用方法
public int get(int field)//返回给定的日历字段的值
public abstract void add(int field,int amount)//根据日历的规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year,int month,int date)//设置当前日历的年月日
Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Calendar提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化
***
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);//YEAR相当于在Calendar中用static修饰的成员变量
int month = c.get(Calendar.MONTH) + 1;//月份从0开始
int date = c.get(Calendar.DATE);//日
System.out.println(year +"年" + month + "月" + date +"日");//输入电脑中当前年月日
***
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR,-5);//将当前电脑的年数-5
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;//月份从0开始
int date = c.get(Calendar.DATE);//日
System.out.println(year +"年" + month + "月" + date +"日");
***
Calendar c = Calendar.getInstance();
c.set(2048,11,11);//月份从0开始,所以给11输出的是12月
int year = c.get(Calendar.YEAR);//YEAR相当于在Calendar中用static修饰的成员变量
int month = c.get(Calendar.MONTH) + 1;//月份从0开始
int date = c.get(Calendar.DATE);//日
System.out.println(year +"年" + month + "月" + date +"日");
***
例子:输入年份,输出该年2月的天数
import java.util.Calendar;
import java.util.Scanner;
public class asd {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);//创建对象
int year=sc.nextInt();//输入年份
int date=Date(year);//调用方法
System.out.println(date);//输出
}
public static int Date(int year)//建立方法输入年返回天数
{
Calendar c = Calendar.getInstance();//创建一个日历对象
c.set(year,2,1);//设置时间为该年的3月1日
c.add(Calendar.DATE, -1);//天数-1即为2月最后一天
int date = c.get(Calendar.DATE);//接受数据
return date;//返回
}
}
浙公网安备 33010602011771号