精华内容
下载资源
问答
  • Java中获取前一天和后一天时间

    千次阅读 2014-02-08 10:55:37
    今天在开发项目的时候遇到一个问题就是怎么获取当前时间的前一天和后一天,这个实现的逻辑并不复杂,自己要写的话的也不是难事,但是貌似感觉没必要自己写这样的方法,想想Java中的Calendar类应该有这样的方法,所以...

    http://blog.csdn.net/jiangwei0910410003/article/details/18978441


    今天在开发项目的时候遇到一个问题就是怎么获取当前时间的前一天和后一天,这个实现的逻辑并不复杂,自己要写的话的也不是难事,但是貌似感觉没必要自己写这样的方法,想想Java中的Calendar类应该有这样的方法,所以上网查了相关的资料,有两个方法:分别是set和roll方法,这两个方法的具体使用方法如下:

    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    1. package com.java.demo;  
    2.   
    3. import java.util.Calendar;  
    4.   
    5. public class DateUtil {  
    6.       
    7.     public static void main(String[] args){  
    8.         //当前时间  
    9.         Calendar cl = setCalendar(2014,01,01);  
    10.         System.out.print("当前时间:");  
    11.         printCalendar(cl);  
    12.         //前一天  
    13.         cl = setCalendar(2014,01,01);  
    14.         getBeforeDay(cl);  
    15.         System.out.print("前一天:");  
    16.         printCalendar(cl);  
    17.         //后一天  
    18.         cl = setCalendar(2014,01,01);  
    19.         getAfterDay(cl);  
    20.         System.out.print("后一天:");  
    21.         printCalendar(cl);  
    22.     }  
    23.       
    24.     /** 
    25.      * 设置时间 
    26.      * @param year 
    27.      * @param month 
    28.      * @param date 
    29.      * @return 
    30.      */  
    31.     public static Calendar setCalendar(int year,int month,int date){  
    32.         Calendar cl = Calendar.getInstance();  
    33.         cl.set(year, month-1, date);  
    34.         return cl;  
    35.     }  
    36.       
    37.     /** 
    38.      * 获取当前时间的前一天时间 
    39.      * @param cl 
    40.      * @return 
    41.      */  
    42.     private static Calendar getBeforeDay(Calendar cl){  
    43.         //使用roll方法进行向前回滚  
    44.         //cl.roll(Calendar.DATE, -1);  
    45.         //使用set方法直接进行设置  
    46.         int day = cl.get(Calendar.DATE);  
    47.         cl.set(Calendar.DATE, day-1);  
    48.         return cl;  
    49.     }  
    50.       
    51.     /** 
    52.      * 获取当前时间的后一天时间 
    53.      * @param cl 
    54.      * @return 
    55.      */  
    56.     private static Calendar getAfterDay(Calendar cl){  
    57.         //使用roll方法进行回滚到后一天的时间  
    58.         //cl.roll(Calendar.DATE, 1);  
    59.         //使用set方法直接设置时间值  
    60.         int day = cl.get(Calendar.DATE);  
    61.         cl.set(Calendar.DATE, day+1);  
    62.         return cl;  
    63.     }  
    64.       
    65.     /** 
    66.      * 打印时间 
    67.      * @param cl 
    68.      */  
    69.     public static void printCalendar(Calendar cl){  
    70.         int year = cl.get(Calendar.YEAR);  
    71.         int month = cl.get(Calendar.MONTH)+1;  
    72.         int day = cl.get(Calendar.DATE);  
    73.         System.out.println(year+"-"+month+"-"+day);  
    74.     }  
    75.       
    76. }  
    上面的代码就是说明了set方法和roll方法的使用,传入一个Calendar,进行设置之后返回一个Calendar,但是roll和set有一个区别:为了测试出这两个方法的却别,我们将时间设置成一个边界值:2014-01-01:看运行效果:

    是通过set方法进行设置的时间的效果图:


    通过效果图我们可以看到,set方法获取前一天和后一天的时间是没有任何问题的。下面再来看一下roll方法获取前一天和后一天的时间的效果图:


    我们发现在获取前一天的时间的时候出现问题了,就是2014-01-01获取前一天是2014-01-31,由此我们可以看到,roll方法在获取前一天和后一天的时候并不是级联改动的,只会修改当前的day,而不会考虑year和month,当然他在修改day的时候是一个循环的修改,如:1月份是:1-31,就是一个循环。

    通过上面的分析我们看到了set方法和roll方法的却别了。


    展开全文
  • mysql 获取日期前一天一天

    万次阅读 2017-03-22 11:20:09
    mysql获取当前时间,前一天,后一天  负责的项目中,使用的是mysql数据库,页面上要显示当天所注册人数的数量,获取当前的年月日,我使用的是 CURDATE(), 错误的sql语句  eg:SELECT COUNT(*) FROM USER WHERE ...

    mysql获取当前时间,前一天,后一天

      负责的项目中,使用的是mysql数据库,页面上要显示当天所注册人数的数量,获取当前的年月日,我使用的是 CURDATE(),

    错误的sql语句

      eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < CURDATE()+1;

      虽然 获取到的数量在测试环境中是正确的,但在发布到线上的时候,发现有的时候数据是查询不到,数量为0,因此,就上网查询是不是CURDATE()+1不规范,发现mysql官网也是不承认时间直接相加减的,虽然会将当前时间转换为20160802,这时候就是比较这一串字符,mysql官网是不承认用这种方式比较时间大小的,因此:

    正确的sql语句

      eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < DATE_SUB(CURDATE(),INTERVAL -1 DAY);
    此时,就用到了DATE_SUB()这个函数,用法举例:

      

    今天是2016年08月01日。

    date_sub('2016-08-01',interval 1 day) 表示 2016-07-31
    date_sub('2016-08-01',interval 0 day) 表示 2016-08-01
    date_sub('2016-08-01',interval -1 day) 表示 2016-08-02

    date_sub(curdate(),interval 1 day) 表示 2016-07-31
    date_sub(curdate(),interval -1 day) 2016-08-02
    date_sub(curdate(),interval 1 month) 表示 2016-07-01
    date_sub(curdate(),interval -1 month) 表示 2016-09-01
    date_sub(curdate(),interval 1 year) 表示 2015-08-01
    date_sub(curdate(),interval -1 year) 表示 2017-08-01

    备注:

    SELECT NOW(),CURDATE(),CURTIME()

    结果类似:

      NOW() CURDATE() CURTIME()
      2016-08-01 16:25:46 2016-08-01 16:25:46
    展开全文
  • //猴子吃桃问题。...以后每天都吃了前一天剩下的一半零一个,到第10天早上想再吃的时候,就剩下一个桃子. //求第一天共摘多少个桃子。 #include int main() { int x=1,i; for (i=1;i;i++) { x=(x+1)*2;
    //猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,好不过瘾,又多吃了一个.
    //第二天早上又吃了剩下的桃子的一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个,到第10天早上想再吃的时候,就剩下一个桃子.
    //求第一天共摘多少个桃子。
    #include<stdio.h>
    int main()
    {
        int x=1,i;
    	for (i=1;i<=10;i++)
    	{
    		x=(x+1)*2;
    	}
    	printf("猴子第一天摘了%d个桃子\n",x);
    	return 0;
    }
    

    展开全文
  • 以后每天都吃前一天剩 //下的一半零一个。到第10天在想吃的时候就剩一个桃子了, 问第一天共摘 //下来多少个桃子?并反向打印每天所剩桃子数。 #include int getnumber(int n) { int num;

    题目来源:慕课

    知识点:递归

    //猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。

    //第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩
    //下的一半零一个。到第10天在想吃的时候就剩一个桃子了, 问第一天共摘
    //下来多少个桃子?并反向打印每天所剩桃子数。


    #include<stdio.h>
    int getnumber(int n)
    {
    int num;
    if (n == 10)
    return 1;
    else
    {
    num = (getnumber(n + 1) + 1) * 2;
    //每天剩余后一天加一的二倍
    printf("猴子第%d天剩余%d个桃子\n", n,num);
    }
    return num;
    }


    int main()
    {
    int num = getnumber(1);
    printf("猴子共偷了%d个桃子", num);
    getchar();
    return 0;
    }
    展开全文
  • 程序员写在猝死的前一天

    千次阅读 多人点赞 2017-11-01 12:39:48
    今天是我猝死的前一天。 你一定会觉得,真奇怪,一个人怎么会知道自己什么时候猝死呢。 因为我昨晚做了一个梦,梦到一个白胡子老头儿,他说我的阳寿已尽,只剩下一天的寿命。怕我有什么心愿未了,他就提前托梦给我...
  • 一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的? 23次,因为分针要转24圈,时针才能转1圈,而分针和时针重合两次之间的间隔显然>1 小时,它们有23次...
  • java开发第一天该做些什么

    千次阅读 2017-04-10 21:03:23
    很多同行们都会选择这个时候跳槽,对于一个新手而言,能够找到一家满意的公司,是件非常开心的事情,但是入职第一天,对于很多新人而言,即使开心,也是非常担心受怕的一天,兴奋是终于踏入IT这个大门了,担心怕自己...
  • 第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃前一天剩下的一半零一个。到第十天的时候想再吃,发现只剩下了一个。求猴子第一天摘了多少个桃子 int a = 1; //for (int i = 10; i > 1; i--)...
  • mysql获取当前时间,前一天,后一天

    万次阅读 2017-05-12 14:59:38
    负责的项目中,使用的是mysql数据库,页面上要显示当天所注册人数的数量,获取当前的年月日,我使用的是 CURDATE(), ... 虽然 获取到的数量在测试环境中是正确的,但在发布到线上的时候,发现有的时
  • mysql当天时间和前一天时间

    千次阅读 2018-12-05 20:27:16
    一天或者前一天 :CURDATE()+1 CURDATE()-1 这是错误的写法 mysql官网也是不承认时间直接相加减的,虽然会将当前时间转换为20160802,这时候就是比较这一串字符,mysql官网是不承认用这种方式比较时间大小的 正确...
  • #include&lt;stdio.h&gt; int main() { int j=1, k, i,n; while (1) { scanf("%d", &amp;n); if (n == 0)break; { if (n != 1) { for...
  • 以后每天都吃了前一天剩下的一半零一个,到第10天早上想再吃的时候,就剩下一个桃子。求第一天共摘多少个桃子。*/ #include  void main() { int count=1,i;    for( i=1; i  count=
  • LINUX获取前一天日期的方法

    千次阅读 2015-03-16 14:23:58
    转载:... 获取前一天日期的方法 .. 写SHELL时,有时候很有用的.. linux下  前一天的日期 date -d "1 day ago" +"%y%m%d" 一个月的日期 date -d "1 month ago" +"%y%m%d" 类似的还
  • linux shell 获取前一天日期的方法

    千次阅读 2013-04-22 10:23:50
    分享 获取前一天日期的方法 获取前一天日期的方法 .. 写SHELL时,有时候很有用的.. linux下 前一天的日期 date -d"1 day ago" +"%y%m%d" 一个月的日期 date -d"1 month ago" +"%y%m%d" 类似的还有 ...
  • System.out.print("前一天:"); printCalendar(cl); // 后一天 cl = setCalendar(2017, 01, 12); getAfterDay(cl); System.out.print("后一天:"); printCalendar(cl); } /** * 获取当前时间的后...
  • 一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的? 答案:只有两次 思路: 假设时针的角速度是ω(ω=π/6每小时),则分针的角速度为12ω,秒针的...
  • java日期增加一个月或减少一天

    万次阅读 2017-04-13 15:56:24
    java日期增加一个月或减少一天; 增加或减少月份及天数;
  • 问题:在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?   解决方法: 在0点到12点之间共有12个阶段,每个阶段时针都会与分针有一次重合,但是11...
  • 本文转载自腾讯网,昨晚(2月10日),“地球自转加快一天已不足24小时”登上微博热搜,达到了“沸”的热度。到底是怎么回事? 据央视新闻,研究显示,从2020年年中以来,地球的自转速率呈加快趋势,自转速度已达...
  • 一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次? 都分别是什么时间?你怎样算出来的?(5分钟-15分钟) 分析: 假设一天24小时表示为(0,24] 注意: 时针和分钟是...
  • 做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:18:36这个时间段内,统计出每一天的日志数据,一般情况下,...
  • #include <stdio.h>int main() { int i = 1; int sum = 0; int dl = 1; //第十天天剩下1个桃 int df = 0; //前一天的桃子数 for(i = 1; i ; i ++) { df = 2*(dl + 1); dl = df; }
  • 在业务场景当中很多时候会获取当前的日期,时间,有时候会获取数据库中某个时间段的数据,所以CURDATE() CURTIME() NOW...获取当前日期前一天:select date_sub(curdate(),interval 1 day) 获取当前日期后一天:s...
  • 当我21岁的时候, 我读到了一句话:“如果你把每一天都当作生命中最后一天去生活的话,那么有一天你会发现你是正确的。”这句话给我留下了深刻的印象。从那时开始,过了1年,我在每天早晨都会对着镜子问自己:“如果今天是...
  • 写自动化的时候遇到这样一个需求,给某个日期控件附当前日期,如果条件满足继续,如果不满足,则赋下一天。 1、datetime模块 print(datetime.datetime.now()) 运行结果: 2017-10-17 16:59:28.385184 ...
  • Date date = new Date(0); System.out.println(date); 打印出来的结果: Thu Jan 01 08:00:00 CST 1970 也是1970 年 1 月 1 日,...为什么这个时间会定义在1970 年 1 月 1 日这个时候呢 ? 于是开始了Google ,中...
  • JavaScript获取月份最后一天

    万次阅读 2018-05-16 09:52:50
    在JS中,如果使用new Date函数,可以使用传参数形式获取某一月的最后一天,并且自动判断润平年和大小月;如下: //使用new Date(year,month,0)的方式,可以获取该月的最后一天 var lastDay= new Date('2018','05',0); ...
  • 在开发web中,我们经常需要用到Date,但是常见的几种...1. 获取前一天的时间 //获取前一天的时间 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date date=new Date(); Calendar calenda...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,296,344
精华内容 518,537
关键字:

一天前是什么时候