精华内容
下载资源
问答
  • java获取一年周数和间隔天数 1 import java.text.ParseException; 2 import java.text.SimpleDateFormat; 3 import java.util.*; 4 5 public class Test { 6 7 private static Date ...

    java获取一年的周数和间隔天数

      1 import java.text.ParseException;
      2 import java.text.SimpleDateFormat;
      3 import java.util.*;
      4 
      5 public class Test {
      6 
      7     private static Date deformatDatetime(String strDate, String fmt) {
      8         try {
      9             if (fmt == null) {
     10                 return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
     11                         java.util.Locale.ENGLISH)).parse(strDate);
     12             } else {
     13                 return (new SimpleDateFormat(fmt, java.util.Locale.ENGLISH))
     14                         .parse(strDate);
     15             }
     16         } catch (ParseException e) {
     17             // TODO Auto-generated catch block
     18             e.printStackTrace();
     19             return null;
     20         }
     21     }
     22     private static String datetimeToString(Date dt, String fmt) {
     23         if (fmt == null) {
     24             return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
     25                     java.util.Locale.ENGLISH)).format(dt);
     26         } else {
     27             return (new SimpleDateFormat(fmt, java.util.Locale.ENGLISH))
     28                     .format(dt);
     29         }
     30     }
     31     private static class DateRange{
     32         public Date startDate;
     33         public Date endDate;
     34         public DateRange(){
     35 
     36         }
     37         public DateRange(Date dt1,Date dt2){
     38             startDate=dt1;
     39             endDate=dt2;
     40         }
     41     }
     42     /**
     43      * 根據年份獲得該年所有周次及每周的開始-結束日期
     44      * @param pvnYear
     45      * @return
     46      */
     47     private static LinkedHashMap<Integer,DateRange> getWeeksDetByYear(int pvnYear){
     48         LinkedHashMap<Integer, DateRange> lvRet=new LinkedHashMap<Integer,DateRange>();
     49         Calendar lvCal=Calendar.getInstance();
     50         lvCal.setFirstDayOfWeek(Calendar.MONDAY);
     51 
     52         Date lvDt=deformatDatetime(String.valueOf(pvnYear)+"-01-01 00:00:00", null);
     53         lvCal.setTime(lvDt);
     54         int lvWeek=1;
     55         while (true) {
     56             lvCal.set(Calendar.DAY_OF_WEEK, lvCal.getFirstDayOfWeek()); // Monday
     57             Date lvFirstDt=lvCal.getTime();
     58             if (lvFirstDt.getYear()+1900<pvnYear){
     59                 lvFirstDt=lvDt;
     60             }
     61             if (lvFirstDt.getYear()+1900>pvnYear) break;
     62             lvCal.set(Calendar.DAY_OF_WEEK, lvCal.getFirstDayOfWeek()+6); // Sunday?
     63             Date lvLastDt=lvCal.getTime();
     64             if (lvLastDt.getYear()+1900>pvnYear){
     65                 lvLastDt=deformatDatetime(String.valueOf(pvnYear+1)+"-01-01 00:00:00", null);
     66                 lvCal.setTime(lvLastDt);
     67                 lvCal.add(Calendar.DAY_OF_YEAR, -1);
     68                 lvLastDt=lvCal.getTime();
     69             }
     70             lvRet.put(Integer.valueOf(lvWeek), new DateRange(lvFirstDt, lvLastDt));
     71             lvWeek++;
     72             lvCal.add(Calendar.WEEK_OF_YEAR, 1);
     73         }
     74         return lvRet;
     75     }
     76     public static void main(String[] args) throws  Exception{
     77         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
     78         LinkedHashMap<Integer,DateRange>  lvRet=getWeeksDetByYear(2011);
     79         for (Map.Entry<Integer, DateRange> item:lvRet.entrySet()){
     80             String startDate = datetimeToString(item.getValue().startDate,"yyyy-MM-dd");
     81             String endDate = datetimeToString(item.getValue().endDate,"yyyy-MM-dd");
     82             Date date1 = format.parse(startDate);
     83             Date date2 = format.parse(endDate);
     84             int diff = differentDays(date1,date2);
     85             System.out.println(String.format("Week: %d, %s - %s", item.getKey(),datetimeToString(item.getValue().startDate,"yyyy-MM-dd"),
     86                     datetimeToString(item.getValue().endDate,"yyyy-MM-dd"))+" ----------"+diff);
     87         }
     88     }
     89 
     90     public static int differentDays(Date date1,Date date2)
     91     {
     92         Calendar cal1 = Calendar.getInstance();
     93         cal1.setTime(date1);
     94 
     95         Calendar cal2 = Calendar.getInstance();
     96         cal2.setTime(date2);
     97         int day1= cal1.get(Calendar.DAY_OF_YEAR);
     98         int day2 = cal2.get(Calendar.DAY_OF_YEAR);
     99 
    100         int year1 = cal1.get(Calendar.YEAR);
    101         int year2 = cal2.get(Calendar.YEAR);
    102         if(year1 != year2)   //同一年
    103         {
    104             int timeDistance = 0 ;
    105             for(int i = year1 ; i < year2 ; i ++)
    106             {
    107                 if(i%4==0 && i%100!=0 || i%400==0)    //闰年
    108                 {
    109                     timeDistance += 366;
    110                 }
    111                 else    //不是闰年
    112                 {
    113                     timeDistance += 365;
    114                 }
    115             }
    116 
    117             return timeDistance + (day2-day1) ;
    118         }
    119         else    //不同年
    120         {
    121             return day2-day1;
    122         }
    123     }
    124 }
    View Code

     

    转载于:https://www.cnblogs.com/xiaofengfree/p/10253835.html

    展开全文
  • java8如何获取一年拥有的周数周数对应的日期 下面是一个测试的例子 public class TestWeekNumAndDate { /** * @param args */ public static void main(String[] args) { //初始化,第一周至少四...

    java8如何获取一年拥有的周数及周数对应的日期
    下面是一个测试的例子

    public class TestWeekNumAndDate {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		//初始化,第一周至少四天
    		WeekFields wfs= WeekFields.of(DayOfWeek.MONDAY, 4);
    		//一年最后一天日期的LocalDate,如果该天获得的周数为1或52,那么该年就只有52周,否则就是53周
    		//获取指定时间所在年的周数
    		int num= LocalDate.of(2019, 12, 31).get(wfs.weekOfWeekBasedYear());
    		num = num == 1 ? 52 : num;
    		System.out.println("第" + num + "周,周一日期:" + getDateByYearAndWeekNumAndDayOfWeek(2019, num, DayOfWeek.MONDAY));
    		System.out.println("第" + num + "周,周二日期:" + getDateByYearAndWeekNumAndDayOfWeek(2019, num, DayOfWeek.TUESDAY));
    		System.out.println("第" + num + "周,周三日期:" + getDateByYearAndWeekNumAndDayOfWeek(2019, num, DayOfWeek.WEDNESDAY));
    		System.out.println("第" + num + "周,周四日期:" + getDateByYearAndWeekNumAndDayOfWeek(2019, num, DayOfWeek.THURSDAY));
    		System.out.println("第" + num + "周,周五日期:" + getDateByYearAndWeekNumAndDayOfWeek(2019, num, DayOfWeek.FRIDAY));
    		System.out.println("第" + num + "周,周六日期:" + getDateByYearAndWeekNumAndDayOfWeek(2019, num, DayOfWeek.SATURDAY));
    		System.out.println("第" + num + "周,周日日期:" + getDateByYearAndWeekNumAndDayOfWeek(2019, num, DayOfWeek.SUNDAY));
    		//该格式周日为一周第一天,周六为一周最后一天
    		System.out.println(LocalDate.parse("2019-52-1", DateTimeFormatter.ofPattern("YYYY-ww-e", Locale.CHINA)));
    	}
    	
    	private static LocalDate getDateByYearAndWeekNumAndDayOfWeek(Integer year, Integer num, DayOfWeek dayOfWeek) {
    		//周数小于10在前面补个0
            String numStr = num < 10 ? "0" + String.valueOf(num) : String.valueOf(num);
            //2019-W01-01获取第一周的周一日期,2019-W02-07获取第二周的周日日期
            String weekDate = String.format("%s-W%s-%s", year, numStr, dayOfWeek.getValue());
            return LocalDate.parse(weekDate, DateTimeFormatter.ISO_WEEK_DATE);
        }
    
    }
    
    展开全文
  • 在Java中,如何查找一年中或一个月中的第几个星期? 以下示例显示年份和月份的第几周。 package com.yiibai; import java.util.*;... public static void main(String[] args) throws Exception { ... ...

    在Java中,如何查找一年中或一个月中的第几个星期?

    以下示例显示年份和月份的第几周。

    package com.yiibai;
    import java.util.*;
    
    public class DisplayWeekNumber {
        public static void main(String[] args) throws Exception {
            Date d1 = new Date();
            Calendar cl = Calendar.getInstance();
            cl.setTime(d1);
    
            System.out.println("today is " + cl.WEEK_OF_YEAR + " week of the year");
            System.out.println("today is a " + cl.DAY_OF_MONTH
                    + "month of the year");
            System.out.println("today is a " + cl.WEEK_OF_MONTH
                    + "week of the month");
        }
    }
    
    Java

    上述代码示例将产生以下结果。

    today is 3 week of the year
    today is a 5month of the year
    today is a 4week of the month
    
    Shell

    示例-2
    以下是一年中的一个月的一个例子。

    package com.yiibai;
    import java.util.Calendar;
    public class DisplayWeekNumber2 {
        public static void main(String[] args) {
            Calendar cal = Calendar.getInstance();
            System.out.println("Current week of month is : "
                    + cal.get(Calendar.WEEK_OF_MONTH));
            System.out.println("Current week of year is : "
                    + cal.get(Calendar.WEEK_OF_YEAR));
            cal.add(Calendar.WEEK_OF_MONTH, 1);
            System.out.println("date after one year : "
                    + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DATE)
                    + "-" + cal.get(Calendar.YEAR));
        }
    }
    
    Java

    上述代码示例将产生以下结果。

    Current week of month is : 4
    Current week of year is : 38
    date after one year : 9-24-2017

    转载于:https://www.cnblogs.com/borter/p/9613418.html

    展开全文
  • 根据一年周数得到日期

    千次阅读 2010-10-19 21:31:00
    public void BindWeek(int curWeek) { ddlWeek.Items.Clear(); ListItem li;... i++)//一年53周 { li = new ListItem(); string[] arr = GetWeek(Convert.ToInt32(ddlYear.Selec

    展开全文
  • # java获取一年周数、单周开始时间与结束时间、一年所有周开始时间与结束时间、月开始时间与结束时间 package com.frgk.produce.util; import org.springframework.util.CollectionUtils; import java.text....
  • private int DatePart(System.DateTime dt) { int weeknow = Convert.ToInt32(dt.DayOfWeek); int daydiff = (-1) * (weeknow+1);...int days = System.DateTime.Now.AddDays(daydiff).DayOfYear;...
  • <? function get_week($year){ $year_start = $year . "-01-01"; $year_end = $year . "-12-31"; $startday = strtotime($year_start);...if (intval(date('N', $startday)) !...$startday = str...
  • 新的一年2021年来了, 1月1日这天是星期五,不是星期一也不是星期日,这一天到底是2020年的最后一周呢,还是2021年的第一周? 对我而言,这一周是2021年的第一周,但是在mysql中是如何处理呢? 之前做任务的时候,在...
  • <h2>計算週數</h2> <input id="date" type="text" value="2019-03-19" /> <button onclick="Count($('#date').val())">...script src="~/Scripts/jquery-1.10.2.min.js">...
  • * 获取 所有周,每一周的总工时 每一周的数据集合 (遗留问题周总工时,所在周数) */ private List<StdBackLogUpperVo> getEveryWeekSumLabor(StdBackLogUpperDto condition) throws ParseException { ...
  • 跨年周数计算

    2010-12-30 23:14:44
    比如明年的1月1日和2日,根据工厂的要求,就要求计算在上一年周数里。下面的程序可以实现此功能,如果1月1号是周四、五、六、日,就算在2011年,否则算在2010年。 private string GetYearAndWeekString() { ...
  • CREATE OR REPLACE function HNMES.GetWeekNum( I_VALUE IN date,I_SP VARCHAR2 default null) return VARCHAR2 as V_BEGNUM NUMBER; V_YD NUMBER ; V_BEGDT DATE; V_BEGDTNUM NUMBER; V_WN NUMBER;...
  • import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;...public class DateTest { // 获取当前时间所在年的周数 public static int getWeekOfYear(Date date) ...
  • Oracle 获取日期的周数

    万次阅读 2013-12-31 17:11:29
    1) 每年的 1 月1号作为这一年的第一天。(不管这一天是星期几) 比如: 2013/01/01 是星期二, 这一天作为2013年的第一天。 2) 周数计算公式 week = int(dayOfYear+6)/7 ; dayOfYear 是这一天是这一年的第几天 ...
  • 计算当前时间转化为周数(满周为52周像element-Ui和ant-design的周数选择组件都是这样的规定): 获取的周数格式为:"2020 第34周" getYearWeek(date){ // date = formatTimebytype(date, 'yyyy-MM-dd');//将日期转换...
  • 工作中常需要产生某一年周数、月份,比如按周排计划、按月核算工资…… 1、自动产生周数(含每周起始及结束日期) DECLARE @FirstDateOfYear DATETIME SET @FirstDateOfYear='2017-01-01'; WITH T AS ( ...
  • sqlserver获取周数

    2021-02-01 02:15:59
    Sql查询获取周数从星期一开始的周数 可以用 set datefirst 1 设定一周的第一天是星期一 SET DATEFIRST 将一周的第一天设置为从 1 到 7 的一个数字。 SELECT DATENAME(WEEK,getDate()) AS WeekName
  • java 根据日期获取周数

    千次阅读 2019-11-25 17:44:05
    一年的第一天属于第一周,一年的最后一天属于最后一周; 周数前面补零。 public static void main(String[] args) { String stDateWe=""; String date="2019-12-31"; SimpleDateFormat sdf = new ...
  • 工作中常需要产生某一年周数、月份,比如按周排计划、按月核算工资…… 1、自动产生周数(含每周起始及结束日期) DECLARE @FirstDateOfYear DATETIME SET @FirstDateOfYear='2017-01-01'; WITH T AS ( ...
  • ExtJS5 - 实现带周数的日期选择控件

    千次阅读 2016-03-29 14:56:39
    Ext默认提供了日期选择控件Ext.date.Picker和日期输入框Ext.form.field.Date这两个类来完成日期选择等相关操作,...但是在实际的业务场景中,我们常常期望日期选择控件能够显示每周的周数,以方便用户对日期进行筛选。
  • python 查询周数 week number

    千次阅读 2018-04-04 11:18:39
    python里面查询某一天所处的周数week number时,有比较多的方法,自己觉得下面这个方法特别棒,在一些方面的处理非常合理。每年的最后一天必然是12月31日,是12月的最后一天,但这天不一定是这年最后一个周的最后一...
  • 是这样的,项目的接口需要的参数为:yyyyww(201505:2015年第05周) 就有了以下代码: ``` NSDateFormatter *dateFormatter...貌似他默认一年的最大周数为52?!? 这怎么解决?正常情况下2015-12-30为2015年第53周
  • 一年有52周,我们如何在outlook里方便的查看自然周的序号呢?比如2019年11月25日到29日是2019年的第几周?outlook默认是没有显示这个序号的。 option设置里,打开Calendar选项: 把这个勾打上就行了: 再切换到...
  • 输入格式化的日期去获取当前的周数,如"2020-11-11" getWeek(date){ // date = formatTimebytype(date, 'yyyy-MM-dd');//将日期转换成yyyy-mm-dd格式 date = new Date(date); var date2 = new Date(date....
  • date('W'): ...就是说,1月1号是星期一至星期四的其中一天话则当周算新一年第一周,否则算上一年的53周。也就是12月31号是星期五至星期天其中一天的话则当周算当年第53周,否则算下一年的第一周。
  • (借鉴高德地图的处理方案,在GPS周数翻转时刻,采用系统时间和GPS对比的方法,如果二者相差超过一年,则时分秒取GPS时间,年月日取系统时间,以解决周数翻转带来的时间跳变问题使开发者内部用错时间) package...
  • 其中在计算周留存率时,可能会直接想到【weekofyear】这个函数,然后简单拼接年就可以得到周数,大部分时候是对的,但在跨年的时候可能会出现bug。 hive> select concat(year('2019-08-01'),'-',weekofyear('...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,847
精华内容 1,138
关键字:

一年的周数