打鱼晒网问题总结(java)
总结一 基本思路
1)计算从 2010年 1月 1日开始至指定日期共有多少天;
2)由于“打鱼”和“晒网”的周期为 5天,所以将计算出的天数用 5去除;
3)根据余数判断他是在“打鱼”还是在“晒网”;若余数为 1,2,3,则他是在“打鱼”;余数是0,4,则是在“晒网”。
总结二 计算相隔天数
方法一:通过Calendar类的日期进行比较,要判断平年还是闰年。
方法二:直接通过计算两个日期的毫秒数,他们的差除以一天的毫秒数,即可得到两个日期相差的天数。
总结三 SimpleDateFormat的使用
- 使用 format() 方法将日期转换为指定格式的文本
// 创建Date对象,表示当前时间
Date d = new Date();
//创建SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
//调用format()方法,格式化时间,转换为指定的格式字符串
Startdate=format.parse(startdate);
Enddate=format.parse(enddate);
代码中的 “yyyy-MM-dd HH:mm:ss” 为预定义字符串, yyyy 表示四位年, MM 表示两位月份, dd 表示两位日期, HH 表示小时(使用24小时制), mm 表示分钟, ss 表示秒,这样就指定了转换的目标格式,最后调用 format() 方法将时间转换为指定的格式的字符串。
- 使用 parse() 方法将文本转换为日期
//创建日期格式的字符串
String day = "2010年01月01日 10:30:25";
//创建SimpleDateFormat对象,指定字符串的日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
//调用parse()方法,将字符串转换为日期
Date date = df.parse(day);
//输出转换后的时间
System.out.println("当前时间:"+date);
代码中的 “yyyy年MM月dd日 HH:mm:ss” 指定了字符串的日期格式,调用 parse() 方法将文本转换为日期。
总结四 Calendar类获取时间
(一)
* 在java.util包中,
* 步骤1:通过调用getInstance()静态方法获得一个Calendar对象,此对象已由当前日期时间初始化,即默认代表当前时间
* 步骤2:该对象调用get()方法获得日期时间信息,参数为需要获取的字段值,,用int类型变量接收。Calendar.Year等为Calendar类中定义的静态常量
Calendar c1=Calendar.getInstance();
int year=c1.get(Calendar.YEAR);
int month=c1.get(Calendar.MONTH);//0代表1月,最大为11月
int day1=c1.get(Calendar.DATE);
int hour=c1.get(Calendar.HOUR);
int min=c1.get(Calendar.MINUTE);
int sec=c1.get(Calendar.SECOND);
System.out.println(year+"年"+month+"月"+day1+"日"+""+hour+":"+min+":"+sec);
(二)
将Calendar对象转化为CST时间(Date)方法
用Calendar 提供的getTime()方法,用来获取Date对象,输出CST时间
import java.util.Calendar;
import java.util.Date;
Calendar c2=Calendar.getInstance();
Date da=c2.getTime();
System.out.println("当前时间为:"+da);
}
总结五 读取文件
1、按字节读取文件内容
2、按字符读取文件内容
3、按行读取文件内容
4、随机读取文件内容
上一篇: 基础区间dp