GVKun编程网logo

计算某一年 某一周 的起始时间和结束时间【待修改20180717】(计算某一年某一月的天数)

16

对于计算某一年某一周的起始时间和结束时间【待修改20180717】感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解计算某一年某一月的天数,并且为您提供关于bootstrap-datetime

对于计算某一年 某一周 的起始时间和结束时间【待修改20180717】感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解计算某一年某一月的天数,并且为您提供关于bootstrap-datetimepicker 日期控件起始时间和结束时间、HP实现计算一年多少个星期,返回一个星期的开始时间和结束时间(可选返回时间戳或日期)、iview的开始时间和结束时间、java 根据开始时间和结束时间,计算出时间工作日天数(包含开始和结束时间)的宝贵知识。

本文目录一览:

计算某一年 某一周 的起始时间和结束时间【待修改20180717】(计算某一年某一月的天数)

计算某一年 某一周 的起始时间和结束时间【待修改20180717】(计算某一年某一月的天数)

/// <summary>
/// 计算某一年 某一周 的起始时间和结束时间
/// </summary>
/// <param name="year"></param>
/// <param name="week"></param>
/// <param name="first"></param>
/// <param name="last"></param>
/// <returns></returns>
public static bool CalcWeekDay(int year, int week, out DateTime first, out DateTime last)
{
first = DateTime.MinValue;
last = DateTime.MinValue;
//年份超限
if (year < 1700 || year > 9999) return false;
//周数错误
if (week < 1 || week > 53) return false;
//指定年范围
DateTime start = new DateTime(year, 1, 1);
DateTime end = new DateTime(year, 12, 31);
int startWeekDay = (int)start.DayOfWeek;

if (week == 1)
{
first = start;
last = start.AddDays(6 - startWeekDay);
}
else
{
//周的起始日期
first = start.AddDays((7 - startWeekDay) + (week - 2) * 7);
last = first.AddDays(6);
if (last > end)
{
last = end;
}
}
return (first <= end);
}

bootstrap-datetimepicker 日期控件起始时间和结束时间

bootstrap-datetimepicker 日期控件起始时间和结束时间

项目中经常会用到起止时间,如下图:

需要引用以下几个文件:

<link href="~/lib/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" />
<link href="~/lib/bootstrap/dist/css/bootstrap-datetimepicker.min.css" rel="stylesheet" />
<script src="~/lib/bootstrap/dist/js/bootstrap-datetimepicker.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap-datetimepicker.zh-CN.js"></script>

然后,代码中需要初始化一下:

$("#sDatePicker").datetimepicker(
                {
                    language: ''zh-CN'',
                    autoclose: true,//选中之后自动隐藏日期选择框
                    clearBtn: false,//清除按钮
                    todayBtn: true,//今日按钮
                    format: ''yyyy-mm-dd'',
                    startView: 2,
                    minView: 2,
                    todayHighlight: false,
                    forceParse: true,
                    endDate: new Date()
                }).on(''changeDate'', function (ev) {
                    if (ev.date) {
                        $("#eDatePicker").datetimepicker(''setStartDate'', new Date(ev.date.valueOf()))
                    } else {
                        $("#eDatePicker").datetimepicker(''setStartDate'', null);
                    }
                });

            $("#eDatePicker").datetimepicker(
                {
                    language: ''zh-CN'',
                    autoclose: true,//选中之后自动隐藏日期选择框
                    clearBtn: false,//清除按钮
                    todayBtn: true,//今日按钮
                    format: ''yyyy-mm-dd'',
                    startView: 2,
                    minView: 2,
                    todayHighlight: false,
                    forceParse: true
                }).on(''changeDate'', function (ev) {
                    if (ev.date) {
                        $("#sDatePicker").datetimepicker(''setEndDate'', new Date(ev.date.valueOf()))
                    } else {
                        $("#sDatePicker").datetimepicker(''setEndDate'', new Date());
                    }

                });
初始化代码-js

搞定,而且也限制了起始时间不大于今天,且不大于结束时间。结束时间不小于起始时间。

然而,在将选择的日期删除之后,总是回不到初始状态 ,比如,结束时间选择 3月5号,那么开始时间只能选3月5号以前,当删除了结束时间(或者点击清空/重置 按钮清除已选时间),发现,开始时间依然是只能选择3月5号之前的。解决 方法如下:
修改源码bootstrap-datetimepicker.js,如下片段:

setStartDate: function (startDate) {
      //this.startDate = startDate || this.startDate;
      //传入空或null时,恢复默认(为解决清空日期后,时间限制恢复不到默认值,例如开始时间仍被限制小于上一次的结束时间)
      this.startDate = startDate || new Date(-8639968443048000);
      if (this.startDate.valueOf() !== 8639968443048000) {
        this.startDate = DPGlobal.parseDate(this.startDate, this.format, this.language, this.formatType, this.timezone);
      }
      this.update();
      this.updateNavArrows();
    },

    setEndDate: function (endDate) {
      //this.endDate = endDate || this.endDate;
      //传入空或null时,恢复默认(为解决清空日期后,时间限制恢复不到默认值,例如开始时间仍被限制小于上一次的结束时间)
      this.endDate = endDate || new Date(8639968443048000);
      if (this.endDate.valueOf() !== 8639968443048000) {
        this.endDate = DPGlobal.parseDate(this.endDate, this.format, this.language, this.formatType, this.timezone);
      }
      this.update();
      this.updateNavArrows();
    },
源码修改

然后 ,在清空/重置 事件中,增加以下代码:

$("#sDatePicker").datetimepicker(''setEndDate'', new Date());
            $("#eDatePicker").datetimepicker(''setStartDate'', null);

ok,搞定了;

 

 

HP实现计算一年多少个星期,返回一个星期的开始时间和结束时间(可选返回时间戳或日期)

HP实现计算一年多少个星期,返回一个星期的开始时间和结束时间(可选返回时间戳或日期)

下面是小编 jb51.cc 通过网络收集整理的代码片段。

小编小编现在分享给大家,也给大家做个参考。

function getWeekStartAndEnd ($year,$week=1) {
    header("Content-type:text/html;charset=utf-8");
    date_default_timezone_set("Asia/Shanghai");
    $year = (int)$year;
    $week = (int)$week;
    //按给定的年份计算本年周总数
    $date = new DateTime;
    $date->setISODate($year,53);
    $weeks = max($date->format("W"),52);
    //如果给定的周数大于周总数或小于等于0
    if($week>$weeks || $week<=0){
        return false;
    }
    //如果周数小于10
    if($week<10){
        $week = '0'.$week;
    }
    //当周起止时间戳
    $timestamp['start'] = strtotime($year.'W'.$week);
    $timestamp['end'] = strtotime('+1 week -1 day',$timestamp['start']);
    //当周起止日期
    $timeymd['start'] = date("Y-m-d",$timestamp['start']);
    $timeymd['end'] = date("Y-m-d",$timestamp['end']);    
    //返回起始时间戳
    return $timestamp;
    //返回日期形式
    //return $timeymd;
}

以上是小编(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给程序员好友。

iview的开始时间和结束时间

iview的开始时间和结束时间

let compareTime = (rule, value, callback) => {
      let startTimeNum = new Date(
        (this as any).headerForm.startTime == ''''
          ? (this as any).headerForm.BeginDate
          : (this as any).headerForm.startTime
      ).getTime();

      let endTimeNum = new Date(
        (this as any).headerForm.endTime == ''''
          ? (this as any).headerForm.EndDate
          : (this as any).headerForm.endTime
      ).getTime();

      if (startTimeNum > endTimeNum) {
        this.$message({
          type: ''info'',
          message: ''开始时间不能大于结束时间''
        });
        callback(new Error('' ''));
      }
      callback();
    };







  headerForm: {
        BeginDate: '''',
        EndDate: ''''
      },
      headerFormrules: {
        BeginDate: [
          {
            required: true,
            type: ''date'',
            message: '' '',
            trigger: ''change''
          },
          { validator: compareTime, trigger: ''change'' }
        ],
        EndDate: [
          {
            required: true,
            type: ''date'',
            message: '' '',
            trigger: ''change''
          },
          { validator: compareTime, trigger: ''change'' }
        ]
      },

      pickerOptionsEnd: {
        disabledDate: time => {
          return this.pickerOptionsend(time);
        }
      },

      pickerOptionsStart: {
        disabledDate: time => {
          return this.pickerOptionsstart(time);
        }
      },

 

<el-form ref="headerForm" :model="headerForm" :rules="headerFormrules" label-width="80px">
 
 <el-form-item
      prop="BeginDate"
      label="起始时间"
    >
      <el-date-picker
        type="datetime"
        placeholder="选择日期"
        v-model="headerForm.BeginDate"
        format="yyyy-MM-dd"@change="getStartTime"
        :picker-options=''pickerOptionsStart''
      ></el-date-picker>
    </el-form-item>

    <el-form-item
      prop="EndDate"
      label="结束时间"
    >
      <el-date-picker
        type="datetime"
        placeholder="选择日期"
        v-model="headerForm.EndDate"
        format="yyyy-MM-dd":editable="false"
        @change="getEndTime"
        :picker-options=''pickerOptionsEnd''
      ></el-date-picker>
    </el-form-item>
</el-form>

  

 

public pickerOptionsstart(time) {
    var that = <any>this;
    const data = that.$data;
    if (data.headerForm.EndDate == '''') {
      return time.getTime() > Date.now();
    } else {
      let EndDateVal = new Date(data.headerForm.EndDate).getTime();
      if (EndDateVal) {
        return time.getTime() > EndDateVal || time.getTime() > Date.now();
      }
    }
  }

  public pickerOptionsend(time) {
    var that = <any>this;
    const data = that.$data;
    if (data.headerForm.BeginDate == '''') {
      return time.getTime() > Date.now();
    } else {
      let beginDateVal = new Date(data.headerForm.BeginDate).getTime();
      if (beginDateVal) {
        return time.getTime() < beginDateVal || time.getTime() > Date.now();
      }
    }
  }

  public getStartTime(e) {
    const that: any = this;
    const data = that.$data;
    data.headerForm.startTime = e;
  }

  public getEndTime(e) {
    const that: any = this;
    const data = that.$data;
    data.headerForm.endTime = e;
  }

    

public pickerOptionsstart(time) {
    var that = <any>this;
    const data = that.$data;
    if (data.headerForm.EndDate == '''') {
      return time.getTime() > Date.now();
    } else {
      let EndDateVal = new Date(data.headerForm.EndDate).getTime();
      if (EndDateVal) {
        return time.getTime() > EndDateVal || time.getTime() > Date.now();
      }
    }
  }

  public pickerOptionsend(time) {
    var that = <any>this;
    const data = that.$data;
    if (data.headerForm.BeginDate == '''') {
      return time.getTime() > Date.now();
    } else {
      let beginDateVal = new Date(data.headerForm.BeginDate).getTime();
      if (beginDateVal) {
        return time.getTime() < beginDateVal || time.getTime() > Date.now();
      }
    }
  }

  

java 根据开始时间和结束时间,计算出时间工作日天数(包含开始和结束时间)

java 根据开始时间和结束时间,计算出时间工作日天数(包含开始和结束时间)

public int weekDay(String strStartDate, String strEndDate) {
    //strStartDate:"2019-10-25",strEndDate:"2019-12-10"
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

    Calendar clOne = Calendar.getInstance();
    Calendar clTwo = Calendar.getInstance();

    try {
        clOne.setTime(df.parse(strStartDate));
        clTwo.setTime(df.parse(strEndDate));

    } catch (ParseException e) {
        System.out.println("日期格式非法");
        e.printStackTrace();
    }

    int days = 0;
    while (clOne.compareTo(clTwo) <= 0) {
        if (clOne.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && clOne.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY)
            days++;
        clOne.add(Calendar.DAY_OF_MONTH, 1);
    }
    return days;
}

我们今天的关于计算某一年 某一周 的起始时间和结束时间【待修改20180717】计算某一年某一月的天数的分享就到这里,谢谢您的阅读,如果想了解更多关于bootstrap-datetimepicker 日期控件起始时间和结束时间、HP实现计算一年多少个星期,返回一个星期的开始时间和结束时间(可选返回时间戳或日期)、iview的开始时间和结束时间、java 根据开始时间和结束时间,计算出时间工作日天数(包含开始和结束时间)的相关信息,可以在本站进行搜索。

本文标签: