如果您想了解计算日期之间的天数差异的相关知识,那么本文是一篇不可错过的文章,我们将对计算日期之间的天数差异怎么算进行全面详尽的解释,并且为您提供关于Android计算两个日期之间的天数、bash–如何
如果您想了解计算日期之间的天数差异的相关知识,那么本文是一篇不可错过的文章,我们将对计算日期之间的天数差异怎么算进行全面详尽的解释,并且为您提供关于Android计算两个日期之间的天数、bash – 如何找到两个日期之间的天数差异?、C++ 练习 | 计算两日期之间天数差、Java 中计算两个字符串日期之间或当前时间与指定时间的天数差的有价值的信息。
本文目录一览:- 计算日期之间的天数差异(计算日期之间的天数差异怎么算)
- Android计算两个日期之间的天数
- bash – 如何找到两个日期之间的天数差异?
- C++ 练习 | 计算两日期之间天数差
- Java 中计算两个字符串日期之间或当前时间与指定时间的天数差
计算日期之间的天数差异(计算日期之间的天数差异怎么算)
在我的代码中,日期之间的差异是错误的,因为它应该是38天而不是8天。我该如何解决?
package random04diferencadata;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Random04DiferencaData {
/**
* http://www.guj.com.br/java/9440-diferenca-entre-datas
*/
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm dd/mm/yyyy");
try {
Date date1 = sdf.parse("00:00 02/11/2012");
Date date2 = sdf.parse("10:23 10/12/2012");
long differenceMilliSeconds = date2.getTime() - date1.getTime();
System.out.println("diferenca em milisegundos: " + differenceMilliSeconds);
System.out.println("diferenca em segundos: " + (differenceMilliSeconds / 1000));
System.out.println("diferenca em minutos: " + (differenceMilliSeconds / 1000 / 60));
System.out.println("diferenca em horas: " + (differenceMilliSeconds / 1000 / 60 / 60));
System.out.println("diferenca em dias: " + (differenceMilliSeconds / 1000 / 60 / 60 / 24));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Android计算两个日期之间的天数
我编写了以下代码来查找两个日期之间的日期
startDateValue = new Date(startDate);
endDateValue = new Date(endDate);
long diff = endDateValue.getTime() - startDateValue.getTime();
long seconds = diff / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = (hours / 24) + 1;
Log.d("days","" + days);
当开始日期和结束日期分别是2/3/2017和3/3/2017时,显示的天数是29.尽管它们是同一天,但显示的是1.(请假的天数。如果请假一天,他必须选择相同的开始日期和结束日期。因此,在这种情况下,他请了两天假。
我究竟做错了什么?感谢您的时间。
注意:请不要使用日期构造函数。检查下面接受的答案。使用simpledateformat或Joda时间。不推荐使用日期构造函数。
bash – 如何找到两个日期之间的天数差异?
B =“2003-22-11”
如何找到两个日期之间的天数差异?
在这种情况下,将EPOCH之后的日期转换为秒,减去并除以24 * 3600。
或者你需要一个便携式的方式?
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 }
Java 中计算两个字符串日期之间或当前时间与指定时间的天数差
1 public static void main(String[] args) throws ParseException {
2 /**
3 * 获取当前时间
4 *
5 */
6 Date date = new Date();
7 /**转换提日期输出格式*/
8 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
9
10
11 String a = "2020-01-01"; // 时间字符串
12 String b = dateFormat.format(date);
13
14 Long between_dayInteger = between_days(a, b);
15
16 System.out.println(between_dayInteger);
17
18 }
19
20 public static Long between_days(String a, String b) {
21
22 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");// 自定义时间格式
23
24 Calendar calendar_a = Calendar.getInstance();// 获取日历对象
25 Calendar calendar_b = Calendar.getInstance();
26
27 Date date_a = null;
28 Date date_b = null;
29
30 try {
31 date_a = simpleDateFormat.parse(a);//字符串转Date
32 date_b = simpleDateFormat.parse(b);
33 calendar_a.setTime(date_a);// 设置日历
34 calendar_b.setTime(date_b);
35 } catch (ParseException e) {
36 e.printStackTrace();//格式化异常
37 }
38
39 long time_a = calendar_a.getTimeInMillis();
40 long time_b = calendar_b.getTimeInMillis();
41
42 long between_days = (time_b - time_a) / (1000 * 3600 * 24);//计算相差天数
43
44 return between_days;
45 }
我们今天的关于计算日期之间的天数差异和计算日期之间的天数差异怎么算的分享已经告一段落,感谢您的关注,如果您想了解更多关于Android计算两个日期之间的天数、bash – 如何找到两个日期之间的天数差异?、C++ 练习 | 计算两日期之间天数差、Java 中计算两个字符串日期之间或当前时间与指定时间的天数差的相关信息,请在本站查询。
本文标签: