(日期校验)判断某年某月某日是不是星期六及当天具体日期时间

  看到一个面试题,求某年某月某日,是不是星期六,看了一些解法,发现用java 的自带日历类Calendar 可以解出。具体代码如下:



import java.util.*;


public class Example7_2 {
public static void main(String args[]) {


System.out.print("现在的时间是:");
System.out.println(getNowDate());
// System.out.println(getXCDays());
// System.out.println("星期几:"+judgeDayIsSat());
}
/**
* 计算今天是某年某月某日,星期几,几时几分几秒
* @return
*/
public static String getNowDate(){
Calendar calendar = Calendar.getInstance(); // 创建一个日历对象
calendar.setTime(new Date(109,7,20)); // 用当前时间初始化日历时间
String 年 = String.valueOf(calendar.get(Calendar.YEAR));
String 月 = String.valueOf(calendar.get(Calendar.MONTH) + 1);
String 日 = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
String 星期 = String.valueOf(calendar.get(Calendar.DAY_OF_WEEK) - 1);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
String result = "" + 年 + "年" + 月 + "月" + 日 + "日 " + "星期" + 星期+" "+hour+"时"+minute+"分"+second+"秒";
return result;
}
/**
* 计算两个日期相差多少天
* @return
*/
public static String getXCDays(){
Calendar calendar = Calendar.getInstance(); // 创建一个日历对象
calendar.setTime(new Date()); // 用当前时间初始化日历时间
calendar.set(1931, 8, 18); // 将日历翻到1931年九月十八日,8表示九月
long timeOne = calendar.getTimeInMillis();
calendar.set(1945, 7, 15); // 将日历翻到1945年八月十五日,7表示八月
long timeTwo = calendar.getTimeInMillis();
long 相隔天数 = (timeTwo - timeOne) / (1000 * 60 * 60 * 24);
String result ="1945年8月15日和1931年9月18日相隔" + 相隔天数 + "天";
return result;
}

/**
* 判断某一天是不是星期六
* @return
*/
public static String judgeDayIsSat(){
Calendar calendar = Calendar.getInstance(); // 创建一个日历对象
calendar.setTime(new Date(2009,8,20)); // 用当前时间初始化日历时间
String 星期 = String.valueOf(calendar.get(Calendar.DAY_OF_WEEK) - 1);
System.out.println(星期);
return 星期;
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值