笔记

我的技术文档

动态获取当天是星期几

SimpleDateFormat dateFm = new SimpleDateFormat("EEEE"); //EEEE区分大小写,星期
        String format = dateFm.format(date);//转换

        if (format.equals("星期一")){
            
        }if(format.equals("星期二")){

        }if(format.equals("星期三")){

        }if(format.equals("星期四")){

        }if(format.equals("星期五")){

        }if(format.equals("星期六")){

        }if(format.equals("星期天")){
        }
        

动态获取当前是当月的第几周

Date date = new Date();

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String dateNowStr = sdf.format(date);
            Date date2 = null;


//            String i="2020-3-31";//测试

//            date2=sdf.parse(dateNowStr);
            date2=sdf.parse(dateNowStr);

            Calendar calendar = Calendar.getInstance();
            calendar.setFirstDayOfWeek(Calendar.MONDAY);
            calendar.setTime(date2);
            System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));//返回这一年的第几周
            //第几周
            int week = calendar.get(Calendar.WEEK_OF_MONTH);//放回当月的第几周

            System.out.println(week);

            if (week==1){
                work.setWeek("1");
            }if (week==2){
                work.setWeek("2");
            }if (week==3){
                work.setWeek("3");
            }if (week==4){
                work.setWeek("4");
            }if(week==5){
                work.setWeek("5");
            }
            /*测试2020.4.30 输出结果第5周
				2020.3.31 输出结果第6周*/

js获取当前周的第一天和最后一天

  let data = new Date() //当前日期
    let year = Number(data.getFullYear());//当前年
    let month = Number(data.getMonth())+1;
    let nowMonth =Number(data.getMonth()); //当前月
    let day = Number(data.getDate()); //当天
    //计算某日是本月第几周
    let mydate=new Date(year,month-1,day);
    let weekday=mydate.getDay(); //获取该日是星期几,0代表星期日//今天本周的第几天
    let weekno=Math.ceil((day + 6 - weekday) / 7); // 本月第几周
    console.log("本月第几周:"+weekno)
    //获取当前周的开始结束时间
    let startTime //本周的开始时间
    let endTime //本周的结束时间
    function formatDate(date) {
        let myyear = Number(date.getFullYear());
        let mymonth = Number(date.getMonth()+1);
        let myweekday = Number( date.getDate());
        if(mymonth < 10){
            mymonth = "0" + mymonth;
        }

        if(myweekday < 10){
            myweekday = "0" + myweekday;
        }
        return (myyear+"-"+mymonth + "-" + myweekday);
    }

    //获得本周的开始日期
    function getWeekStartDate() {
        let weekStartDate = new Date(year, nowMonth, day + 1 - weekday);
        return formatDate(weekStartDate);
    }

    //获得本周的结束日期
    function getWeekEndDate() {
        let weekEndDate = new Date(year, nowMonth, day + 7 - weekday);
        return formatDate(weekEndDate);
    }
    startTime=getWeekStartDate()
    endTime=getWeekEndDate()

    console.log("开始日期:"+startTime+"结束日期: "+endTime)

动态获取当天是第几月

 Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String dateNowStr = sdf.format(date);

            SimpleDateFormat dateFm = new SimpleDateFormat("MM");
            String format = dateFm.format(date);
            System.out.println(format);

            if (format.equals("01")){
                work.setWeek("1");
            }if (format.equals("02")){
                work.setWeek("2");
            }if (format.equals("03")){
                work.setWeek("3");
            }if (format.equals("04")){
                work.setWeek("4");
            }if(format.equals("05")){
                work.setWeek("5");
            }if(format.equals("06")){
                work.setWeek("6");
            }if(format.equals("07")){
                work.setWeek("7");
            }if(format.equals("08")){
                work.setWeek("8");
            }if(format.equals("09")){
                work.setWeek("9");
            }if(format.equals("10")){
                work.setWeek("10");
            }if(format.equals("11")){
                work.setWeek("11");
            }if(format.equals("12")){
                work.setWeek("12");
            }

点击后按钮字体颜色改变

   $("#星期六").click(function () {
    //清空其它同类按钮选中颜色
    $('[id^="星期"]').css("color", "#000000");//按钮原来颜色
    //点击后变色
    $("#星期六").css("color", "#FF8B29")
})

时间格式转换

1.Calendar 转化 String
Calendar calendat = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());
 
2.String 转化Calendar
String str="2012-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
 
3.Date 转化String
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(new Date());
 
4.String 转化Date
String str="2012-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date= sdf.parse(str);
 
5.Date 转化Calendar
Calendar calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date());
 
6.Calendar转化Date
Calendar calendar = Calendar.getInstance();
java.util.Date date =calendar.getTime();
 
7.String 转成 Timestamp
Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");
 
8.Date 转 TimeStamp
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);

动态拼接

str +='<dd>'+
'<a οnclick="a(\''+datetimeon+'\')" class="site-demo-active" οnmοuseοver="this.className=\'after2\'"\n' +
' οnmοuseοut="this.className=\'shiftOut2\'" data-url="/userInformation" data-id="'+datetimeon+'"\n' +
  'data-title="软件上传" data-type="tabAdd">'+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+datetimeon+'</a>'+
'</dd>'

类型转换

int i=1;
 		Integer w1 = new Integer(i);//int转包装类
        String s =String.valueOf(w1);//包装类转string类型
        Integer.parseInt(s)//String转int

js中的时间函数

/**返回日期的字符串表示形式。字符串的格式取决于语言环境。* /
toString():字符串;
/**以字符串值的形式返回日期。* /
toDateString():字符串;
/**以字符串值的形式返回时间。* /
toTimeString():字符串;
/**返回一个字符串值,该字符串值适合于主机环境的当前语言环境。* /
toLocaleString():字符串;
/**以字符串值的形式返回一个日期,该值适合于主机环境的当前语言环境。* /
toLocaleDateString():字符串;
/**返回一个适合于主机环境当前语言环境的字符串值。* /
toLocaleTimeString():字符串;
返回从UTC时间1970年1月1日午夜开始,以毫秒为单位存储的时间值。* /
valueOf():数量;
获取以毫秒为单位的时间值。* /
getTime():数量;
/**使用本地时间获取年份。* /
getFullYear():数量;
/**使用协调世界时(UTC)获取年份。* /
getUTCFullYear():数量;
/**使用本地时间获取月份。* /
getMonth():数量;
/**使用通用协调时间(UTC)获取日期对象的月份。* /
getUTCMonth():数量;
/**使用本地时间获得每月的日期。* /
获取当前日期():数量;
/**使用世界协调时间(UTC)获取每月的日期。* /
getUTCDate():数量;
/**使用本地时间获取星期几。* /
getDay():数量;
/**使用协调世界时(UTC)获取星期几。* /
getUTCDay():数量;
/**使用本地时间获取日期中的小时。* /
getHours():数量;
/**使用通用协调时间(UTC)获取日期对象中的小时值。* /
getUTCHours():数量;
/**获取使用本地时间的日期对象的分钟数。* /
getMinutes():数量;
/**使用通用协调时间(UTC)获取日期对象的分钟数。* /
getUTCMinutes():数量;
使用本地时间获取日期对象的秒数。* /
getSeconds():数量;
/**使用协调世界时(UTC)获取日期对象的秒数。* /
getUTCSeconds():数量;
/**使用本地时间获取日期的毫秒数。* /
可以():数量;
/**使用协调世界时(UTC)获取日期对象的毫秒数。* /
getUTCMilliseconds():数量;
/**获取本地计算机上的时间与通用协调时间(UTC)之间的分钟差。* /
getTimezoneOffset():数量;

js限制输入框的内容

例如,输入大于0的正整数

<input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}">

1,文本框只能输入数字代码(小数点也不能输入)

<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">

2,只能输入数字,能输小数点. IE only

<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">

3,数字和小数点方法二

<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">

封装成单独的函数:

function keyPress(ob) {
 if (!ob.value.match(/^[\+\-]?\d*?\.?\d*?$/)) ob.value = ob.t_value; else ob.t_value = ob.value; if (ob.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/)) ob.o_value = ob.value;
}
function keyUp(ob) {
 if (!ob.value.match(/^[\+\-]?\d*?\.?\d*?$/)) ob.value = ob.t_value; else ob.t_value = ob.value; if (ob.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/)) ob.o_value = ob.value;
    }
function onBlur(ob) {
if(!ob.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))ob.value=ob.o_value;else{if(ob.value.match(/^\.\d+$/))ob.value=0+ob.value;if(ob.value.match(/^\.$/))ob.value=0;ob.o_value=ob.value};
}

只需在调用,传入this对象即可!

4,只能输入字母和汉字

<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

5,只能输入英文字母和数字,不能输入中文

<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

6,只能输入数字和英文

<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">

7,小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:

<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">

8,小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:

<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">

动态获取时长(可配置上班时间,下班时间)目前无法跨月和年,默认周末上班

//7.5小时工时
var hoursCountOfDay = 7.5;
//上午工作开始小时
var amHourStart = 8;
//上午工作开始分钟
var amMinutesStart = 30;
//上午下班开始小时
var amHourEnd = 12;
//上午下班开始分钟
var amMinutesEnd = 0;

//下午上班开始小时
var pmHourStart = 14;
//下午上班开始分钟
var pmMinutesStart = 0;
//下午下班开始小时
var pmHourEnd = 18;
//下午下班开始分钟
var pmMinutesEnd = 0;

var amStart = amHourStart + amMinutesStart / 60;
console.log("amStart "+amStart)//8.5 早上上班时间
var amEnd = amHourEnd + amMinutesEnd / 60;
console.log("amEnd "+amEnd)//12 早上下班时间
var pmStart = pmHourStart + pmMinutesStart / 60;
console.log("pmStart "+pmStart)//14 下午上班时间
var pmEnd = pmHourEnd + pmMinutesEnd / 60;
console.log("pmEnd "+pmEnd)//18 下午下班时间
var middleTime = pmStart - amEnd;// 下午上班时间-早上上班时间=2
console.log("middleTime "+middleTime)//中段时间 2
var amTime=amEnd-amStart //早上总上班时间
console.log("amTime "+amTime)//早上总上班时间
var pmTime=pmEnd-pmStart //下午总上班时间
console.log("pmTime "+pmTime)//下午总上班时间

function calculate() {
    var s = document.getElementById("fd_37a0a04c0dab6c");
    var startTime = new Date($("#fd_37890f21c6823e").val());
    var endTime = new Date($("#fd_3789230b467526").val());
    if (startTime >= endTime) {//当开始时间大于结束时间
        return 0;
    }
    let hours = getHours(startTime, endTime);

    let days = hours ;
    $("#fd_3789223f7f48d0").val(days)
}

function getHours(startTime, endTime) {
    let hours=0;//总小时

    if (startTime.getFullYear()===endTime.getFullYear()) {//开始时间和结束时间年份相同

        if (startTime.getMonth() === endTime.getMonth()) {//开始时间和结束时间月份相同


            let startHours = startTime.getHours()//开始时间的小时
            let startMinutes = startTime.getMinutes()//开始时间的分钟
            let startDate = startTime.getDate()//开始时间的日期


            let endDate = endTime.getDate()//结束时间的日期

            let endHours = endTime.getHours()//结束时间的小时


            let endMinutes = endTime.getMinutes()//结束时间时间的分钟


            let allstartDate;//第一天上班时间 时:分
            let allendDate;//最后一天上班时间 时:分

           let i1= startMinutes / 60
            allstartDate=startHours+i1
            console.log("第一天上班时间 "+allstartDate)

            let i2= endMinutes / 60
            allendDate=endHours+i2
            console.log("最后一天上班时间 "+allendDate)


            /*
            * amStart:早上上班时间
            * amEnd:早上下班时间
            * pmStart:下午上班时间
            * pmEnd:下午下班时间
            * */
            if (allstartDate<amStart&allstartDate>0){//不在8.30范围
                allstartDate=amStart
            }else if (allstartDate>pmEnd&allstartDate<23.99){
                allstartDate=pmEnd
            }else if (allstartDate>amEnd&allstartDate<pmStart){
                allstartDate=pmStart
            }


            if (allendDate<amStart&allendDate>0){//不在8.30范围
                allendDate=amStart
            }else if (allendDate>pmEnd&allendDate<23.99){
                allendDate=pmEnd
            }else if (allendDate>amEnd&allendDate<pmStart){
                allendDate=pmStart
            }


            console.log("第一天请假时间2 "+allstartDate)
            console.log("最后一天请假时间2 "+allendDate)


            let first_day=0;//第一天
            let last_day =0;//最后一天
            let same_day =0;//同一天

            if (startDate===endDate){//如果是同一天的话
                console.log("-------------同一天-------------------")

                if (allendDate>=pmStart&allendDate<=pmEnd){
                    same_day=allendDate-allstartDate-middleTime
                }else {
                    same_day=allendDate-allstartDate
                }
                console.log("同一天时间 "+same_day)

            }else {

                console.log("-------------第一天-------------------")
                if (allstartDate>=amStart&allstartDate<=amEnd){//如果输入时间是早上的话
                    first_day=amEnd-allstartDate+pmTime
                    console.log("第一天请假时间(早) "+first_day)
                }
                if (allstartDate>=pmStart&allstartDate<=pmEnd) {//如果输入时间是下午的话
                    first_day=pmEnd-allstartDate
                    console.log("第一天请假时间(午) "+first_day)
                }

                console.log("第一天"+first_day)

                console.log("-------------------最后一天-----------------------")
                if (allendDate<=amStart){
                    last_day+=0
                }else {
                    if (allendDate>=amStart&allendDate<=amEnd){//如果输入时间是早上的话
                        last_day=amEnd-allendDate+pmTime
                        console.log("最后一天请假时间(早) "+last_day)
                    }
                    if (allendDate>=pmStart&allendDate<=pmEnd) {//如果输入时间是下午的话

                        last_day=allendDate-pmStart+amTime
                        console.log("最后一天请假时间(午) "+last_day)
                    }
                }

                console.log("-------------------循环-----------------------")
                console.log("开始日期"+startDate)
                console.log("结束日期"+endDate)
                for (let i = startDate+1; i <=endDate-1; i++) {//中间时间
                    console.log("循环 "+i)
                    hours += hoursCountOfDay
                }

            }

            hours+=first_day+last_day+same_day
            console.log("最后一天 "+last_day)

            console.log("总时间 "+hours)



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值