JAVA计算学校学期周次

2020-09-09

/

0 评论

/

313 阅读

/

正在检测是否收录...

09/09

package com.zs.create.test;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

public class Test {

public static void main(String[] args) throws ParseException {

// 获取今年一年的总周次

System.out.println(school_week("2020-08-31","2021-03-01","2021-01-04"));

}

/**

* 根据第一学期开学时间

* 第二学期开学时间

* 现在时间

* 计算当前时间的周次

* @param firstSemesterStr - 第一学期开学时间

* @param secondSemesterStr - 第二学期开学时间

* @param nowDateStr - 当前时间

* @return 当前学期下的周次

* @deprecated 参数必须要 yyyy-MM-dd 字符串格式

* */

public static int school_week(String firstSemesterStr, String secondSemesterStr,

String nowDateStr) throws ParseException {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy");

Date firstSemester = sdf.parse(firstSemesterStr);

Date secondSemester = sdf.parse(secondSemesterStr);

Date nowDate = sdf.parse(nowDateStr);

Date nodeTime = sdf.parse(sdf1.format(firstSemester) + "-12-31");

if (nowDate.getTime()>firstSemester.getTime() && nowDate.getTime()

< secondSemester.getTime()){

//第一学期

if(nowDate.getTime()>nodeTime.getTime()){

// 出现跨年情况

if (Current_week(nowDate.getTime()) == Current_week(nodeTime.getTime())){

return Current_week(nodeTime.getTime())-Current_week(firstSemester.getTime())+1;

}

return (Current_week(nodeTime.getTime()) + Current_week(nowDate.getTime()))

- Current_week(firstSemester.getTime())+1;

}else{

// 没有跨年

return Current_week(nowDate.getTime())-Current_week(firstSemester.getTime())+1;

}

}else {

// 第二学期

return Current_week(nowDate.getTime())-Current_week(secondSemester.getTime())+1;

}

}

/**

* @param time - 时间戳

* @return 回当前时间所在年的周次

* */

public static int Current_week(long time) {

Calendar calendar = Calendar.getInstance();

calendar.setFirstDayOfWeek(Calendar.MONDAY);//设置星期一为一周开始的第一天

calendar.setMinimalDaysInFirstWeek(4);//可以不用设置

calendar.setTimeInMillis(time);//时间戳

int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);//获得当前日期属于今年的第几周

return weekOfYear;

}

}

赞 · 0

java 周次_JAVA计算学校学期周次相关推荐

  1. java 周几_java根据日期获取周几和获取某段时间内周几的日期

    整理两个日期的方法. 根据日期获取当天是周几 /** * 根据日期获取当天是周几 * @param datetime 日期 * @return 周几 */ public static String d ...

  2. java处理最后一周_Java获取某年某周的最后一天

    package test; import java.text.SimpleDateFormat; import java.util.Calendar; /** * ClassName: LastDay ...

  3. java 当前日期 所在周_关于Java的小工具(计算当前日期所在周的区间)

    1.2.计算指定格式日期的当前周和前后周的起止时间 入参:date类型,或者当前系统时间 返回:当前时间的所在周的起止日期,和前后一周的起止日期 /** * 此方法为:根据当前日期获得所在周的日期区间 ...

  4. java 周几_java根据年月日判断周几

    java根据年月日判断周几,下面提供四中方法需要的可以参考下. 方法一: public static String dateToWeek(String datetime) throws java.te ...

  5. java 递归编译_java计算x^n的递归方法?求高手给个算法最佳的 最好能编译通过 本人处于java初学者时期^^...

    java计算x^n的递归方法?求高手给个算法最佳的 最好能编译通过 本人处于java初学者时期^^ 关注:193  答案:4  mip版 解决时间 2021-02-03 20:14 提问者西伯利亚狼 ...

  6. java 间隔分钟_java 计算两个 日期时间 相间隔多少天小时分钟 等

    1.时间转换data默认有toString() 输出格林威治时间,比如说Date date = new Date(); String toStr = date.toString(); 输出的结果类似于 ...

  7. java 月份间隔_java计算两个日期之间相隔的月份(向下取整)

    最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...

  8. java 今天 昨天_java计算今天,明天,后天,昨天,前天方法

    网上找了一下,方法基本都有bug,自己写了一下,代码挺简单的.供大家使用 使用java计算今天,明天,后天,昨天,前天方法,关键是要知道所在的时区,如果是深圳,所在时区时8,系统初始时间是1970-0 ...

  9. java 自幂数_java计算自幂数和水仙花数

    /* * 自幂数 * 自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身. * (例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数) ...

最新文章

  1. 【opus源码分析】celt_fir5函数
  2. 牌类游戏使用微服务重构笔记(四): micro框架使用经验
  3. 关于socket和 jsp的几个问题
  4. 移动端双指缩放、旋转
  5. SQLite数据库损坏与修复
  6. 页面级缓存@ OutputCache
  7. 今天的就每天练习这招的企业即时通讯
  8. 数据结构——八大排序算法(面试必备)
  9. Big5和Gb编码转换
  10. WEB学习第四天(网页模型
  11. “朝抵抗力最大的路径上走”
  12. 数字特征值-对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值
  13. Java jdk源代码的Math包
  14. 谷歌浏览器开发者工具鼠标箭头变成小圆点了
  15. android ui设计最新字体,2017年最新最直白的app界面设计字体规范
  16. NanoHttpd Demo是个好东西
  17. laravel jwt attempt 总是返回false
  18. 阿松嘚嘚嘚-数据库篇3-查询优化不简单(上)
  19. 梅姨眼中最爱读英国书籍的人竟然是TA?
  20. python的pytest模块:pytest命令行详解

热门文章

  1. android 日历 签到,Android MaterialCalendarView 日历使用 每日签到
  2. 2018世界杯赛程表
  3. 最大数 (Java算法每日一题)
  4. 认识压电式雨量传感器的工作原理及MODBUS-RTU RS485通信协议
  5. Python学习笔记(基础知识第三篇:列表、元组、字典、集合)
  6. C/C++编程学习 - 第6周 ⑦ 分离整数的各个数位
  7. python爬虫面试题集锦及答案
  8. 对vue与angular和react的对比
  9. 谷歌Play马甲包检测逻辑推测及应对措施
  10. 为什么大数据工程师比Java程序员工资高