精华内容
下载资源
问答
  • let date=new Date(); let currentMonth=date.getMonth(); let nextMonth=++currentMonth; let nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1); l...
              let date=new Date();
              let currentMonth=date.getMonth();
              let nextMonth=++currentMonth;
              let nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
              let oneDay=1000*60*60*24;
              endDate =new Date(nextMonthFirstDay-oneDay)
    
    展开全文
  • shell脚本判断一天是否是当月最后一个周四 需求 最近遇到了这样的一个需求,要求在每个月的最后一个周四加三天来执行一个固定的脚本,于是就因为判断最后一个周四用了很久,在此记录一下。 实现的思路 整体...

    shell脚本判断某一天是否是当月的最后一个周四

    需求

    最近遇到了这样的一个需求,要求在每个月的最后一个周四加三天来执行一个固定的脚本,于是就因为判断最后一个周四用了很久,在此记录一下。

    实现的思路

    整体的思路如下:
    将当前的日期减去三天后,得到三天前的日期,判断得到的三天前的日期是否是该日期所在月的最后一个周四。
    具体的实现

    1. 先创建一些变量以供后续的使用
    //表示三天前的日期所在的年:2018
    year=$(date -d "-3 day" + %Y)
    //表示三天前的日期所在的月:11
    month=$(date -d "-3 day" + %m)
    //表示三天前的日期所在的日:27
    day=$(date -d "-3 day" + %d)
    //表示三天前的日期是星期几
    week=$(date -d "-3 day" + %u)
    //表示三天前的日期年月日形式:20181127
    daytime=$(date -d "-3 day" + %Y%m%d)
    //表示三天前的日期的年月表示形式:201811
    month1=${daytime:0:6}
    //三天前所在的月的最后一天
    monthEndday=${month}$(cal ${month} ${year}|perl -0nle 'print+(split)[-1]')
    //最后一天是周几
    lastday_week=$(day -d ${monthEndday} +%u)
    1. 准备工作 完成,现在开始进行判断。我的判断思路是这样的,先找出来指定日期坐在月的最后一周,然后判断该日期是否在最后一周内,如果在的话,再判断是否是周四。
      但是这样的就存在一个问题,如果这个月的最后一天恰好是周一,那么取最后一周的数据时,只能取到周一,将无法找到最后一个周四,遇到这种情况就需要取出最后两周。因此需要分两种情况实现:
      这个月的最后一天大于等于周四,就取最后一周进行比较。
      这个月的最后一天小于周四,就取这个月的最后两天进行比较。
    //判断该月的最后一天的星期数是否大于4
    if [ $lastday_week -ge 4 ];then
       //取最后一周的所有日期,例如2018年11的最后一周是26 27 28 29 30,-m表示周一是一周的开始
       lastweek=$(cal -m "$month" "$year" | sed '/^$/d' | tail -1)
       //判断指定的日期是否在最后一周的范围内
       justD=$(echo "${lastweek}" | grep "${day}" | wc -l)
       //如果是1,表示在该范围内,是0表示不在
       if [ ${justD} -eq 1 ];then
          //如果是最后一周,判断只当日期是否是周四
          if [ ${week} -eq 4 ];then
             sh lastThursday.sh
          fi
       fi
     else
      //取当月的最后两周
      lastweek=$(cal -m "$month" "$year" | sed '/^$/d' | tail -2)
       justD=$(echo "${lastweek}" | grep "${day}" | wc -l)
       if [ ${justD} -eq 1 ];then
          if [ ${week} -eq 4 ];then
             sh lastThursday.sh
          fi
       fi
     fi
     

    至此,该需求完成。

    展开全文
  • 他想根据一个给定的日期,获取该给定日期在这个年月的最后一天的日期,并且要求在Python中怎么做。基于此,我就想到了对比Excel,在Python中完成这个需求。Excel完成这个需求 ① 在单元格中输入EOMONTH()公式② 完成...

    这是群友的一个需求。他想根据一个给定的日期,获取该给定日期在这个年月的最后一天的日期,并且要求在Python中怎么做。基于此,我就想到了对比Excel,在Python中完成这个需求。

    00d916628487bcb68740caea5e40d32d.png

    Excel完成这个需求

    ① 在单元格中输入EOMONTH()公式
    d43dbe1f08b015e3758f21c663353e95.png
    ② 完成填充操作
    3d1431ea3ae3563efac5a90d463c0abf.png
    ③ 将时间戳转换为短日期格式

    可以看到在excel中输入该公式后,默认返回的是一个时间戳,我们需要将其转换为我我们需要的短日期格式。

    ce6034582cfb0ab77e8adbf7e40349e4.png

    Python完成这个需求

    在完成这个需求之前,我们先来讲述几个知识点,否则你会看着懵逼。

    1)datetime库中的知识点

    import datetime
    date1 = datetime.date.today()
    print(date1)
    year = datetime.date.today().year
    print(year)`
    month = datetime.date.today().month
    print(month)

    结果如下:

    ff7ec163a8bf1e9408d3e921abb88308.png

    可以看出:上面我们使用today()函数直接获取了当前系统的年月,并且利用year和month属性分别获取了当前系统时间的年、月。

    接下来,我们使用该模块获取指定年、月的指定日期,其中day=1表示获取当前年月的第一天,day=2表示获取当前年月的第二天......依次进行下去。

    date1 = datetime.date(year=year, month=month, day=1)
    print(date1)
    date2 = datetime.date(year=year, month=month, day=2)
    print(date2)

    结果如下:

    686cab66708f05ea484e20b3b97b121a.png

    通过上述演示,应该可以知道怎么完成这个需求了吧?当我们指定了年月,后面只需要传入day=当月的总天数这个参数,得到的不就是该年月的最后一天的日期吗?因此目前的问题就是怎么获取某个月的最后一天,这就是下面需要讲述的monthrange()函数。

    2)calendar库中的知识点

    对于这个模块,我主要讲述一个monthrange()函数,这个函数是有什么用呢?

    • monthrange(year, month):返回指定年月,由第一天所在的星期和本月的总天数组成的元组。
    # 这里的year和month就是上面提到的2020和7import calendar
    x, y = calendar.monthrange(year, month)
    print(x, y)"""
    其中:x表示2020/7/1号所在的星期数,其中周一是0,周二是1,周三是2。
         y表示的是2020年7月这个月的总天数。
    """

    结果如下:564e65870b455db377cfbfc979380af8.png

    3)完整代码如下

    def func(year=None, month=None):if year:
            year = int(year)else:
            year = datetime.date.today().yearif month:
            month = int(month)else:
            month = datetime.date.today().month# x:表示当月第一天所属的星期# y:表示当月的总天数
        x, y = calendar.monthrange(year, month)# 获取当月的第一天和最后一天
        first_day = datetime.date(year=year, month=month, day=1)
        last_day = datetime.date(year=year, month=month, day=y)return first_day, last_day
    first_day, last_day = func()
    print(first_day, last_day)
    first_day, last_day = func(2020,6)
    print(first_day, last_day)

    结果如下:0273ac58660ba24acf8e4c1fb8534884.png这个代码其实很好理解:如果year和month为空,就返回的是当前系统时间的最后一天的日期。如果传入指定年月,那么获取的就是指定年月的最后一天的日期。

    - end -

    aee865d0a53767d5703e5ef36848d586.png

    展开全文
  • [code="java"]if [ $(date +%e) -eq $(cal|xargs|awk '{print $NF}') ]; then echo "last day" else echo "not last day" fi if [ "$(date +%m)"...echo
    if [ $(date +%e) -eq $(cal|xargs|awk '{print $NF}') ]; then

    echo "last day"

    else

    echo "not last day"

    fi

    if [ "$(date +%m)" != "$(date +%m -d "+1day")" ]; then

    echo "last day"

    else

    echo "not last day"

    fi

    if [ "01" = "$(date +%d -d "+1day")" ]; then

    echo "last day"

    else

    echo "not last day"

    fi

    # mount -f 192.168.100.71:/d /mnt
    mount: 1831-008 giving up on:
    192.168.100.71:/d

    showmount --exports nas-server-IP
    这个命令可以显示服务器上共享了那些目录。
    然后再用mount命令就可以了
    mount nas-server-IP:share-dir your-local-dir

    把刚加入服务行列的NAS给加上Linux Server主机:
    mkdir /mnt/test
    mount -t cifs //{ip address}/{share} -o username={username},password={password} /mnt/test/
    mount函数挂载nfs: mount -t nfs -o nolock 192.168.0.100:/gdtest /mnt
    注解:本示范是用/mnt/test/ 为 mount point,取消用 umount /mnt/test/
    后记:编码可加上iocharset=utf8这种写法

    如果将NAS mount到linux上了,但重启后就没有了, 就可以
    write the command to /etc/rc.d/rc.local
    展开全文
  • php获取当月天数及当月第一天及最后一天、上月第一天及最后一天,下个月的第一天,最后一天的实现方法 在做查询过程中,例如要实现查上个月从第一天到最后一天的佣金(提成),那我们在程序实现过程中就要让程序在上个...
  • 大家好,我们今日继续讲解VBA代码解决方案的第52讲内容,这讲的内容是利用VBA代码,如何获得当月最后一天日期.在实际工作中经常需要根据给定的日期计算其所属月份的最后一天,此时怎么计算呢?我们首先要讲解一下...
  • 我们经常会有类似的需求,比如给客户做的运营报表中有日报与月报之分,并且很多客户会要求进入日报后就是当前月份的每一天的数据,而不要每次在日期切片器中选择。同一个报表包括日报、月报两个粒度的数据可以通过...
  • 在做查询过程中,例如要实现查上个月从第一天到最后一天的佣金(提成),那我们在程序实现过程中就要让程序在上个月的范围内查询,第一天是比较好办,但最后一天就不定,要去写段函数进行月份及年份判断来得出上个月共有...
  • 最近被日期弄得很头疼,由于js的...首先,以下代码均有个共同的日期格式化函数 //日期格式化 Date.prototype.format = function(format) { var o = { "M+" : this.getMonth() + 1, // month "d+" : this.getD
  • EOMONTH(开始日期,之前或之后的月份数) 例:根据A列的日期,返回该日期当月最后一天的日期。 输入公式: =EOMONTH(A2,0) 函数EOMONTH的第二参数为0,即返回当前日期所在月份最后一天的日期。 5、MONTH 函数MONTH:...
  • 在工作中常用到考勤表,那么如何做份考勤表,可以每个月都使用呢,那么就需要让考勤表的表头动态生成日期和星期,我在几期视频中也讲过,但总觉讲的不太清楚,那么今天就用图文的形式来说明下。动态考勤表的核心...
  • 我们如何在excel中精确的获取当月的天数呢,我们使用EOMONTH 函数即可轻松搞定这样的问题一、EOMONTH 函数EOMONTH 函数:返回指定月份之前或者之后的月份的最后一天语法:EOMONTH(start_date, months)第一参...
  • 日期函数一般用于日期的计算,好...示例:MONTHEND(2020-01-06)=2020-01-31 说明:返回指定日期当月最后一天 14.DAYOFYEAR函数 用法:DAYOFYEAR(日期) 示例:DAYOFYEAR(2020-01-06)=6 说明:返回指定日期当年的第几天
  • 小伙伴们大家好,今天讨论的日期问题你在工作中肯定或多或少的碰到过,但可能...具体操作参见如下演示:▲计算给定日期所在月份的第一天公式:=EOMONTH(B6,-1)+1原理:先用EOMONTH函数计算日期所属月份上月的最后一...
  • 业务需求中,经常会根据当前时间获取上一个月的时间或者当月最后一天,由于每个月的天数都不同,为了考虑时间上的准确性我们需要做一些判断和计算,具体方法如下: /* 获取上一个月时间,返回yyyy-MM-dd字符串 * ...
  • 这里获取最后一天的时候不用考虑是否为闰年,一开始我以为要判断一下年份是否是闰年,后来试过才晓得,不用判断,美滋滋。 //获取某年某月的第一天 public static String getFirstDayOfMonth(String month){ int ...
  • ASP.NET(C#)返回每个月的第一天和最后一天要怎么来做呢,我们下文整理了不少例子,然后根据例子做了一个智能判断每个月有多少天,无需你计算,本函数将替你完成: 希望对各位有帮助。 最简单获取当月第一天和最后...
  • /** * 判断是否为当月最后一天 */ function isLastDayOfMonth() { var flag = new Boolean(false); var date = new Date(); var year = date.getFullYear();...

空空如也

空空如也

1 2 3 4
收藏数 68
精华内容 27
关键字:

判断当月最后一天