GVKun编程网logo

PHP使用strtotime计算两个给定日期之间天数的方法(php求两个日期的间隔天数)

8

在本文中,我们将详细介绍PHP使用strtotime计算两个给定日期之间天数的方法的各个方面,并为您提供关于php求两个日期的间隔天数的相关解答,同时,我们也将为您带来关于Android编程实现计算两

在本文中,我们将详细介绍PHP使用strtotime计算两个给定日期之间天数的方法的各个方面,并为您提供关于php求两个日期的间隔天数的相关解答,同时,我们也将为您带来关于Android编程实现计算两个日期之间天数并打印所有日期的方法、C++ 练习 | 计算两日期之间天数差、date 与 strtotiime 函数 计算固定日期之后或之前几天的程序、java – 计时器 – 如何使用Joda Time计算两个日期之间的差异?的有用知识。

本文目录一览:

PHP使用strtotime计算两个给定日期之间天数的方法(php求两个日期的间隔天数)

PHP使用strtotime计算两个给定日期之间天数的方法(php求两个日期的间隔天数)

本文实例讲述了PHP使用strtotime计算两个给定日期之间天数的方法。分享给大家供大家参考。具体分析如下:

PHP的strtotime函数用于将任何英文文本的日期时间描述解析为Unix时间戳。这个函数将使用TZ环境变量(如果有的话)来计算时间戳。如果执行成功它返回一个时间戳,否则返回FALSE。在PHP 5.1.0之前,这个函数将返回-1。

rush:PHP;"> $date1 = date('Y-m-d'); $date2 = '2005-03-01′; $days = (strtotime() – strtotime()) / (60 * 60 * 24); echo "Number of days since '2005-03-01′: $days";

希望本文所述对大家的PHP程序设计有所帮助。

Android编程实现计算两个日期之间天数并打印所有日期的方法

Android编程实现计算两个日期之间天数并打印所有日期的方法

本文实例讲述了Android编程实现计算两个日期之间天数并打印所有日期的方法。分享给大家供大家参考,具体如下:

以下代码是计算两个日期之间的天数,并打印所有日期

注:开始时,增加天数时,一天的毫秒数直接用24*60*60*1000来逐步增加天数,再测试时发现,当两个日期之间的天数超过24天时,打印的日期反而在开始日期之前了,(如打印2016/12/18-2017/1/23,打印的日期反而有2016/12/1),后来发现原因在于24*60*60*1000是一个int值,int值的取值范围在2的31次方:+/- 2147483648,当超过最大数时,就会变成最小数,这样反而导致日期变小,将24*60*60*1000变为long类型的值即可:private long static final long ONE_DAY_MS=24*60*60*1000

/**
* 计算两个日期之间的日期
* @param startTime
* @param endTime
*/
private void betweenDays(long startTime,long endTime,long mills_select,int code){
   Date date_start=new Date(startTime);
   Date date_end=new Date(endTime);
   //计算日期从开始时间于结束时间的0时计算
   Calendar fromCalendar = Calendar.getInstance();
   fromCalendar.setTime(date_start);
   fromCalendar.set(Calendar.HOUR_OF_DAY,0);
   fromCalendar.set(Calendar.MINUTE,0);
   fromCalendar.set(Calendar.SECOND,0);
   fromCalendar.set(Calendar.MILLISECOND,0);
   Calendar toCalendar = Calendar.getInstance();
   toCalendar.setTime(date_end);
   toCalendar.set(Calendar.HOUR_OF_DAY,0);
   toCalendar.set(Calendar.MINUTE,0);
   toCalendar.set(Calendar.SECOND,0);
   toCalendar.set(Calendar.MILLISECOND,0);
   int s = (int) ((toCalendar.getTimeInMillis() - fromCalendar.getTimeInMillis())/ (ONE_DAY_MS));
   if(s>0){
     for(int i = 0;i<=s;i++){
       long todayDate = fromCalendar.getTimeInMillis() + i * ONE_DAY_MS;
       /**
        * yyyy-MM-dd E :2012-09-01
        */
       Log.i("打印日期",Utils.getCustonFormatTime(todayDate,"yyyy-MM-dd"));
     }
   }else {//此时在同一天之内
       Log.i("打印日期",Utils.getCustonFormatTime(startTime,"yyyy-MM-dd"));
   }
}

Utils.getCustonFormatTime()方法代码如下:

/**
* 格式化传入的时间
*
* @param time   需要格式化的时间
* @param formatStr 格式化的格式
* @return
*/
public static String getCustonFormatTime(long time,String formatStr) {
    SimpleDateFormat format = new SimpleDateFormat(formatStr);
    Date d1 = new Date(time);
    return format.format(d1);
}

PS:这里再为大家推荐几款关于日期与时间计算的在线工具供大家参考使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.jb51.net/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android日期与时间操作技巧总结》、《Android开发入门与进阶教程》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:

  • Android日期时间格式国际化的实现代码
  • Android开发之时间日期操作实例
  • Android开发之时间日期组件用法实例
  • android获取时间差的方法
  • Android中日期与时间设置控件用法实例
  • Android编程实现根据不同日期计算天数差的方法
  • Android时间选择器、日期选择器实现代码
  • Android日期显示和日期选择库
  • 很实用的Android日期计算类
  • Android时间日期拾取器学习使用(DatePicker、TimePicker)

C++ 练习 | 计算两日期之间天数差

C++ 练习 | 计算两日期之间天数差

  1 #include<iostream>
  2 #include<string>
  3 #include<cstring>
  4 using namespace std;
  5 
  6 class Date
  7 {
  8 private:
  9     int year;
 10     int month;
 11     int day;
 12 public:
 13     void get()
 14     {
 15         int a,b,c;
 16         cin>>a;
 17         getchar();
 18         cin>>b;
 19         getchar();
 20         cin>>c;
 21         year=a;
 22         month=b;
 23         day=c;
 24         return;
 25     }
 26     friend int days(Date a,Date b);
 27 };
 28 
 29 int days(Date a,Date b)
 30 {
 31     int day1=0;
 32     Date temp;
 33     if((a.year<b.year)||((a.year==b.year)&&(a.month<b.month))||((a.year==b.year)&&(a.month==b.month)&&(a.day<b.day)))
 34     {
 35         temp=a;
 36         a=b;
 37         b=temp;//保证a比b日期靠后
 38     }
 39     if(a.year!=b.year)
 40     {
 41         day1+=(a.year-b.year-1)*365;//不考虑闰年和不完整年的整年天数
 42         day1+=((((a.year-1)/4) - ((a.year-1)/100) + ((a.year-1)/400))-(((b.year-1)/4) - ((b.year-1)/100) + ((b.year-1)/400)));//期间闰年天数
 43     for(int i=b.month;i<=12;i++)
 44     {
 45         switch(i)
 46         {
 47             case 1:
 48             {
 49                 day1+=31;
 50                 break;
 51             }
 52             case 2:
 53             {
 54                 day1+=28;
 55                 break;
 56             }
 57             case 3:
 58             {
 59                 day1+=31;
 60                 break;
 61             }
 62             case 4:
 63             {
 64                 day1+=30;
 65                 break;
 66             }
 67             case 5:
 68             {
 69                 day1+=31;
 70                 break;
 71             }
 72             case 6:
 73             {
 74                 day1+=30;
 75                 break;
 76             }
 77             case 7:
 78             {
 79                 day1+=31;
 80                 break;
 81             }
 82             case 8:
 83             {
 84                 day1+=31;
 85                 break;
 86             }
 87             case 9:
 88             {
 89                 day1+=30;
 90                 break;
 91             }
 92             case 10:
 93             {
 94                 day1+=31;
 95                 break;
 96             }
 97             case 11:
 98             {
 99                 day1+=30;
100                 break;
101             }
102             case 12:
103             {
104                 day1+=31;
105                 break;
106             }
107         }
108     }
109     day1-=b.day;
110     for(int i=a.month-1;i>=1;i--)
111     {
112         switch(i)
113         {
114             case 1:
115             {
116                 day1+=31;
117                 break;
118             }
119             case 2:
120             {
121                 day1+=28;
122                 break;
123             }
124             case 3:
125             {
126                 day1+=31;
127                 break;
128             }
129             case 4:
130             {
131                 day1+=30;
132                 break;
133             }
134             case 5:
135             {
136                 day1+=31;
137                 break;
138             }
139             case 6:
140             {
141                 day1+=30;
142                 break;
143             }
144             case 7:
145             {
146                 day1+=31;
147                 break;
148             }
149             case 8:
150             {
151                 day1+=31;
152                 break;
153             }
154             case 9:
155             {
156                 day1+=30;
157                 break;
158             }
159             case 10:
160             {
161                 day1+=31;
162                 break;
163             }
164             case 11:
165             {
166                 day1+=30;
167                 break;
168             }
169             case 12:
170             {
171                 day1+=31;
172                 break;
173             }
174         }
175     }
176     day1+=a.day;
177     if(((b.year%4==0&&b.year%100!=0)||(b.year%400==0))&&(b.month>2))
178         day1-=1;
179     if(((a.year%4==0&&a.year%100!=0)||(a.year%400==0))&&(a.month>2))
180         day1+=1;
181     }
182     else
183     {
184         for(int i=b.month;i<a.month;i++)
185         {
186             switch(i)
187             {
188                 case 1:
189                 {
190                     day1+=31;
191                     break;
192                 }
193                 case 2:
194                 {
195                     day1+=28;
196                     break;
197                 }
198                 case 3:
199                 {
200                     day1+=31;
201                     break;
202                 }
203                 case 4:
204                 {
205                     day1+=30;
206                     break;
207                 }
208                 case 5:
209                 {
210                     day1+=31;
211                     break;
212                 }
213                 case 6:
214                 {
215                     day1+=30;
216                     break;
217                 }
218                 case 7:
219                 {
220                     day1+=31;
221                     break;
222                 }
223                 case 8:
224                 {
225                     day1+=31;
226                     break;
227                 }
228                 case 9:
229                 {
230                     day1+=30;
231                     break;
232                 }
233                 case 10:
234                 {
235                     day1+=31;
236                     break;
237                 }
238                 case 11:
239                 {
240                     day1+=30;
241                     break;
242                 }
243                 case 12:
244                 {
245                     day1+=31;
246                     break;
247                 }
248             }
249         }
250         day1+=a.day;
251         day1-=b.day;
252         if(b.month==2&&b.day==29)
253             day1++;
254         if(((a.year%4==0&&a.year%100!=0)||(a.year%400==0))&&(b.month<=2&&b.day!=29&&a.month>2))
255         {
256             day1++;
257         }
258     }
259     return day1;
260 }
261 
262 int main()
263 {
264     Date y1,y2;
265     y1.get();
266     y2.get();
267     cout<<days(y1,y2);
268     return 0;
269 }

 

date 与 strtotiime 函数 计算固定日期之后或之前几天的程序

date 与 strtotiime 函数 计算固定日期之后或之前几天的程序

<?php
echo $_POST[''order_date''].''===''.date("Y-m-d H:i:s", strtotime($_POST[''order_date'']."+1 year"))
?>
注意:strtotime里的标点是点  而不是逗号

java – 计时器 – 如何使用Joda Time计算两个日期之间的差异?

java – 计时器 – 如何使用Joda Time计算两个日期之间的差异?

我想使用Joda Time获得两次P(开始时间)和Q(结束时间)之间的差异. P和Q可能是不同日子甚至在同一天的时间.我想得到格式HH-MM-SS的差异,其中H =小时,M =分钟,S =秒.

我想在定时器中使用这个功能.我假设没有人会使用我的计时器测量超过24小时.

请指导我这样做.

解决方法

看看Joda时间常见问题
http://joda-time.sourceforge.net/faq.html#datediff

您可以使用PeriodFormatter获取您选择的格式.请尝试以下示例代码.

DateTime dt = new DateTime();
DateTime twoHoursLater = dt.plusHours(2).plusMinutes(10).plusSeconds(5);
Period period = new Period(dt,twoHoursLater);
PeriodFormatter HHMMSSFormater = new PeriodFormatterBuilder()
        .printZeroAlways()
        .minimumPrintedDigits(2)
        .appendHours().appendSeparator("-")
        .appendMinutes().appendSeparator("-")
        .appendSeconds()
        .toFormatter(); // produce thread-safe formatter
System.out.println(HHMMSSFormater.print(period));

我们今天的关于PHP使用strtotime计算两个给定日期之间天数的方法php求两个日期的间隔天数的分享已经告一段落,感谢您的关注,如果您想了解更多关于Android编程实现计算两个日期之间天数并打印所有日期的方法、C++ 练习 | 计算两日期之间天数差、date 与 strtotiime 函数 计算固定日期之后或之前几天的程序、java – 计时器 – 如何使用Joda Time计算两个日期之间的差异?的相关信息,请在本站查询。

本文标签:

上一篇PHP使用mysql_fetch_row查询获得数据行列表的方法

下一篇PHP使用array_fill定义多维数组的方法(php 多维数组)