精华内容
下载资源
问答
  • js根据年月计算出这个月多少

    千次阅读 2014-10-21 15:30:22
    * 根据年月计算出这个月多少周 * @param year 年 * @param month 月(0-11) * @returns 总共的周数 */ function getWeekCounts( year, month ) { var firstWeek =new Date(year, month,1).getDay();//拿到这...
    /**
     * 根据年月计算出这个月有多少周
     * @param year 年
     * @param month 月(0-11)
     * @returns 总共的周数
     */
    function getWeekCounts( year, month ) {
    	var firstWeek =new Date(year, month,1).getDay();//拿到这个月1号是星期几
    	var lastDay = 32 - new Date(year, month, 32).getDate();//拿到这个月有多少天
    	
    	  var a;
    	  if(firstWeek ==0){
    		  a =7;
    	  }else{
    		  a=firstWeek;
    	  }
    	  return Math.ceil((lastDay-(7-a+1))/7+1);
    }

    展开全文
  • /*** 计算2个日期之间相差的 相差多少年月日* 比如:2011-02-02 到 2017-03-02 相差 6年,1个月,0天*@paramfromDate YYYY-MM-DD*@paramtoDate YYYY-MM-DD*@return年,月,日 例如 1,1,1*/public ...

    JDK7及以前的版本,计算两个日期相差的年月日比较麻烦。

    JDK8新出的日期类,提供了比较简单的实现方法。

    /*** 计算2个日期之间相差的 相差多少年月日

    * 比如:2011-02-02 到 2017-03-02 相差 6年,1个月,0天

    *@paramfromDate YYYY-MM-DD

    *@paramtoDate YYYY-MM-DD

    *@return年,月,日 例如 1,1,1*/

    public staticString dayComparePrecise(String fromDate, String toDate){

    Period period=Period.between(LocalDate.parse(fromDate), LocalDate.parse(toDate));

    StringBuffer sb= newStringBuffer();

    sb.append(period.getYears()).append(",")

    .append(period.getMonths()).append(",")

    .append(period.getDays());returnsb.toString();

    }

    一个简单的工具方法,供参考。

    简要说2点:

    1. LocalDate.parse(dateString) 这个是将字符串类型的日期转化为LocalDate类型的日期,默认是DateTimeFormatter.ISO_LOCAL_DATE即YYYY-MM-DD。

    LocalDate还有个方法是parse(CharSequence text, DateTimeFormatter formatter),带日期格式参数,下面是JDK中的源码,比较简单,不多说了,感兴趣的可以自己去看一下源码

    /*** Obtains an instance of {@codeLocalDate} from a text string using a specific formatter.

    *

    * The text is parsed using the formatter, returning a date.

    *

    *@paramtext the text to parse, not null

    *@paramformatter the formatter to use, not null

    *@returnthe parsed local date, not null

    *@throwsDateTimeParseException if the text cannot be parsed*/

    public staticLocalDate parse(CharSequence text, DateTimeFormatter formatter) {

    Objects.requireNonNull(formatter,"formatter");returnformatter.parse(text, LocalDate::from);

    }

    2. 利用Period计算时间差,Period类内置了很多日期计算方法,感兴趣的可以去看源码。Period.between(LocalDate.parse(fromDate), LocalDate.parse(toDate));主要也是用LocalDate去做计算。Period可以快速取出年月日等数据。

    3. 使用旧的Date对象时,我们用SimpleDateFormat进行格式化显示。使用新的LocalDateTime或ZonedLocalDateTime时,我们要进行格式化显示,就要使用DateTimeFormatter。

    和SimpleDateFormat不同的是,DateTimeFormatter不但是不变对象,它还是线程安全的。线程的概念我们会在后面涉及到。现在我们只需要记住:因为SimpleDateFormat不是线程安全的,使用的时候,只能在方法内部创建新的局部变量。而DateTimeFormatter可以只创建一个实例,到处引用。

    创建DateTimeFormatter时,我们仍然通过传入格式化字符串实现:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");

    格式化字符串的使用方式与SimpleDateFormat完全一致。

    展开全文
  • /// /// 返回每一号是周几 /// /// /// /// /// public static int CaculateWeekDay(int y, int m, int d) { if (m == 1) {

            /// <summary>
            /// 返回每月一号是周几
            /// </summary>
            /// <param name="y"></param>
            /// <param name="m"></param>
            /// <param name="d"></param>
            /// <returns></returns>
            public static int CaculateWeekDay(int y, int m, int d)
            {
                if (m == 1)
                {
                    m = 13;
                    y = y - 1;
                }
                if (m == 2)
                {
                    m = 14;
                    y = y - 1;
                }
                int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
                return week;
                //返回值定义如下
                //    case 0: weekstr = "星期一"; break;
                //    case 1: weekstr = "星期二"; break;
                //    case 2: weekstr = "星期三"; break;
                //    case 3: weekstr = "星期四"; break;
                //    case 4: weekstr = "星期五"; break;
                //    case 5: weekstr = "星期六"; break;
                //    case 6: weekstr = "星期日"; break;
            }

            /// <summary>
            /// 根据年,月取得本月天数
            /// </summary>
            /// <param name="month"></param>
            /// <param name="year"></param>
            /// <returns></returns>
            public static int NumberOfDays(int year, int month)
            {
                int[] numDays = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

                int n = numDays[month - 1];
                //取得每月天数,判断平年闰年
                if (month == 2 && year % 4 == 0)
                {
                    ++n;
                }
                return n;
            }

     

    展开全文
  • 近期,由于业务需要计算两个日期之前相差多少个月。我在网上找了很久,结果发现万能的python,居然没有一个模块计算两个日期的月数,像Java、C#之类的高级语言,都会有(date1-date2).months的现成方法,觉得不可思议...
  • mysql-计算日期的间隔(年月日时分秒)+实现业务中应用-筛选出出生日期大于多少月的数据业务需求业务实现的sql用法sql解析相差的年数相差的月数相差的天数 业务需求 推荐用户时需要筛选出一定年龄的才可以展示...

    mysql-计算两个日期的间隔(年月日时分秒)+实现业务中应用-筛选出出生日期大于多少月的数据

    业务需求

    推荐用户时需要筛选出一定年龄的才可以展示(有的人出生年月日选择的当前年月日,需要规避掉这个人的展示)

    业务实现的sql用法

    SELECT * FROM `user` WHERE TIMESTAMPDIFF(MONTH,birth,DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S')) > 216
    

    2021年2月29日更新:
    业务需要自定义sql时,如果数据量较大时,尽量避免在索引列上使用mysql的内置函数(假设birth加了索引)内置函数会导致索引失效,不要使用 select * ,尽量只拿需要的字段。

    SELECT id,`name`,nick_name FROM `user` WHERE birth < Date_ADD(NOW(),INTERVAL -216 MONTH)
    

    sql解析

    TIMESTAMPDIFF(类型,开始时间,结束时间)
    TIMESTAMPDIFF的类型包含以下几种:

    • YEAR 年
    • MONTH 月
    • DAY 日
    • HOUR 时
    • MINUTE 分
    • SECOND 秒
    • MICROSECOND 微秒
    • WEEK 周

    以下sql中的birth是出生日期,也可以用’2021-02-23 00:00:00 00:00:00’

    相差的年数

    SELECT TIMESTAMPDIFF(YEAR,birth,DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
    

    如果是当前年份比较返回的则是0,该语法只会对年份进行判断,粒度比较粗(比如19年12月与20年1月计算结果也是1年)

    相差的月数

    SELECT TIMESTAMPDIFF(MONTH,2021-02-23 00:00:00 00:00:00,DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
    

    如果是当前月比较返回的则是0

    相差的天数

    SELECT TIMESTAMPDIFF(DAY,'2021-02-28 00:00:00',DATE_FORMAT('2021-03-1 00:00:00', '%Y-%m-%d %H:%i:%S'))
    

    2月份只有28天计算天数时会自动判断3月日期相隔天数(这里面竟然没有坑!!!,如果有坑,麻烦告知一下我。谢谢大佬。)

    展开全文
  • /*** 功能概述:计算指定年月的天数和周数* 创建时间:2010-5-17 下午05:25:58** @author 何明旺*/public class Test{public static void main(String[] args) {Calendar c = Calendar.getInstance();c.set(Calendar...
  • 输入年月日,计算并输出这个年月日,是该年的第多少天。 练习题三 #include<stdio.h> #include<math.h> int main() { int day, month, year, sum; printf("请输入年 日"); scanf("%d%d%d", &...
  • java 计算个月多少天和多少

    千次阅读 2018-06-05 11:07:00
    importjava.util.Calendar; /** *功能概述:计算指定年月的天数和周数<br> */ publicclassTest{ publicstaticvoidmain(String[]args){ Calendarc=Calendar.getInstance(); ...
  • Java 计算日期相差多少

    千次阅读 2019-03-20 16:20:07
    JDK7及以前的版本,计算两个日期相差的年月日比较麻烦。 JDK8新出的日期类,提供了比较简单的... * 比如:2011-02-02 到 2017-03-02 相差 6年,1个月,0天 * @param fromDate YYYY-MM-DD * @param toDate YYYY-...
  • //计算2时间各个月份差集合 public static List<String> getMonthBetween(String minDate, String maxDate) throws Exception { ArrayList<String> result = new ArrayList<String>(); ...
  • 计算两个时间相差多少年月日的sql算法,比如1998-1-25与2011-11-22相差的时间(用年月日表示)就可以用这个方法算出来为13年9个月28天
  • /*** 计算2个日期之间相差的 相差多少年月日* 比如:2011-02-02 到 2017-03-02 相差 6年,1个月,0天*@paramfromDate YYYY-MM-DD*@paramtoDate YYYY-MM-DD*@return年,月,日 例如 1,1,1*/public ...
  • 改项目主要是用来计算如期相差多少年,多少月多少天和时分秒,用来计算员工在贵单位所工作的工作年龄最好
  • 3 * 功能概述:计算指定年月的天数和周数<br> 4 * 创建时间:2010-5-17 下午05:25:58<br> 5 * 6 * @author <a href="mailto:hemingwang0902@126.com" mce_href="mailto...
  • from datetime import date y1, m1 = stlmt_date[0].year, stlmt_date[0].month ... raise Exception('起止年月有问题,{} to {}'.format(stlmt_date[0], stlmt_date[1])) import calendar from datetime import d.
  • --判断2日期间的,年月日间隔 --举例如下: 2017-12-31~2018-01-01 = 2天 2017-01-01~2018-12-31 = 2年 2017-01-01~2018-01-01 = 1年1天 2017-06-06~2018-01-01 = 627天 2015-09-10~2018-10-14 = 3年15...
  • ios计算个年月的天数

    千次阅读 2015-11-27 15:01:17
    判断一个月多少天 /**  * 6.判断一个月多少天  *  * @param date 日期  *  * @return  */ +(NSInteger)NSStringIntTeger:(NSInteger)teger andYear:(NSInteger)year {   ...
  • 今天学习Vue的时候,遇见了一练习,大概的意思是输入一过去的时间,计算一下距离现在过去了多少多少月多少天。 刚开始有点懵圈,经过一小时的思考,终于有点眉目。现整理下来,如有错误,欢迎大家批评...
  • 计算年月日年龄

    2017-03-15 15:25:55
    *function:计算日期相隔多少年,多少月多少天  *param string $date1[格式如:2011-11-5]  *param string $date2[格式如:2012-12-01]  *return array array('年','','日');  */  function...
  • 计算年月日/时分秒

    2019-07-20 16:33:07
    计算多少天之后的日期 3.计算多少天之前的日期 4.计算两日期的天数差 思路:首先要清楚年,,日的范围,不同月份天数不同; 其次,计算之后的日期时要注意月份大于12时,就代表增加了一年,此时记得将月份置为...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 128
精华内容 51
关键字:

年月计算多少个月