如果您想了解计算HIVE中两个日期之间的天数的相关知识,那么本文是一篇不可错过的文章,我们将对hive求两个日期之间的天数进行全面详尽的解释,并且为您提供关于Android计算两个日期之间的天数、io
如果您想了解计算HIVE中两个日期之间的天数的相关知识,那么本文是一篇不可错过的文章,我们将对hive求两个日期之间的天数进行全面详尽的解释,并且为您提供关于Android计算两个日期之间的天数、ios – 查找iphone中两个日期之间的总天数、Java Joda-Time中两个日期之间的天数、Java-Android计算两个日期之间的天数的有价值的信息。
本文目录一览:- 计算HIVE中两个日期之间的天数(hive求两个日期之间的天数)
- Android计算两个日期之间的天数
- ios – 查找iphone中两个日期之间的总天数
- Java Joda-Time中两个日期之间的天数
- Java-Android计算两个日期之间的天数
计算HIVE中两个日期之间的天数(hive求两个日期之间的天数)
我们将使用DATEDIFF()函数。这是您要编写的查询:
SELECT
DATEDIFF(Date_2,Date_1)
AS days FROM TableName;
实时实施https://learnsql.com/cookbook/how-to-find-the-number-of-days-between-two-dates-in-mysql/#:~:text=Use%20the%20DATEDIFF()%20function%20to%20retrieve%20the%20number%20of,%2C%20it's%20the%20expiration_date%20column.)
使用DATEDIFF()函数检索MySQL数据库中两个日期之间的天数。此函数有两个参数:
结束日期。 (在我们的示例中,它是Date_2列。) 开始日期。 (在我们的示例中,它是Date_1列。) 这些参数可以是日期/日期时间值,返回日期/日期时间值的表达式或日期时间或日期数据类型的列。
此函数从结束日期中减去开始日期,并以整数形式返回天数。在我们的示例中,黄油是在“ 2018-07-30”购买的,但其Date_2日期是“ 2019-08-10”;在Date_1之后,可以在376天内食用。请注意,酸奶是作为过时产品购买的:天差为-1,Date_1日期晚于Date_2日期。
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时间。不推荐使用日期构造函数。
答案1
小编典典您用于生成日期对象的代码:
Date date = new Date("2/3/2017"); //deprecated
您得到28天作为答案,因为根据Date(String)
构造函数,它认为天= 3,月= 2和年= 2017
您可以将String转换为Date,如下所示:
String dateStr = "2/3/2017";SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");Date date = sdf.parse(dateStr);
使用上面的模板制作Date对象。然后使用下面的代码计算两个日期之间的天数。希望这件事能解决。
它可以按如下方式完成:
long diff = endDateValue.getTime() - startDateValue.getTime();System.out.println ("Days: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));
请检查链接
如果您使用Joda Time,它将更加简单:
int days = Days.daysBetween(date1, date2).getDays();
ios – 查找iphone中两个日期之间的总天数
例如今天是01-01-2011(DD-MM-YYYY),第二个日期是(25-03-2011),我怎样才能找到总天数?
NSDate *currentdate=[NSDate date]; NSLog(@"curretdate is ==%@",currentdate); NSDateFormatter *tempformatter1 = [[[NSDateFormatter alloc]init]autorelease]; [tempformatter1 setDateFormat:@"dd-mm-YYYY hh:mm:ss"]; NSDate *toDate = [tempformatter1 dateFromString:@"20-04-2011 09:00:00"]; NSLog(@"toDate ==%@",toDate);
解决方法
NSDateFormatter *tempformatter = [[[NSDateFormatter alloc]init]autorelease]; [tempformatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"]; NSDate *startdate = [tempformatter dateFromString:@"15-01-2011 09:00:00"]; NSLog(@"startdate ==%@",startdate); NSDateFormatter *tempformatter1 = [[[NSDateFormatter alloc]init]autorelease]; [tempformatter1 setDateFormat:@"dd-MM-yyyy HH:mm:ss"]; NSDate *toDate = [tempformatter1 dateFromString:@"20-01-2011 09:00:00"]; NSLog(@"toDate ==%@",toDate); int i = [startdate timeIntervalSince1970]; int j = [toDate timeIntervalSince1970]; double X = j-i; int days=(int)((double)X/(3600.0*24.00)); NSLog(@"Total Days Between::%d",days);
编辑1:
我们可以使用以下功能找到日期差异:
-(int)dateDiffrenceFromDate:(Nsstring *)date1 second:(Nsstring *)date2 { // Manage Date Formation same for both dates NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"dd-MM-yyyy"]; NSDate *startDate = [formatter dateFromString:date1]; NSDate *endDate = [formatter dateFromString:date2]; unsigned flags = NSDayCalendarUnit; NSDateComponents *difference = [[NSCalendar currentCalendar] components:flags fromDate:startDate toDate:endDate options:0]; int dayDiff = [difference day]; return dayDiff; }
来自Abizern的ans.找到更多NSDateComponent here.的信息
Java Joda-Time中两个日期之间的天数
如何找到两个Joda-Time DateTime实例之间的天数差异?“天数差异”是指如果开始时间是星期一,结束时间是星期二,则无论返回日期和开始时间/结束时间是小时/分钟/秒,我都希望返回值为1。
Days.daysBetween(start, end).getDays()
如果开始时间是晚上,结束时间是上午,则给我0。
我在其他日期字段上也遇到了同样的问题,因此我希望有一种通用的方法可以“忽略”重要性较低的字段。
换句话说,2月至3月4日之间的月份也将为1,而14:45至15:12之间的时间也会为1。但是14:01和14:55之间的时差为0。
答案1
小编典典令人讨厌的是,withTimeAtStartOfDay答案是错误的,但只是偶尔出现。你要:
Days.daysBetween(start.toLocalDate(), end.toLocalDate()).getDays()
事实证明,“midnight/start 的开始时间”有时是指凌晨1点(某些地方以这种方式实现夏令时),而Days.daysBetween无法正确处理。
// 5am on the 20th to 1pm on the 21st, October 2013, BrazilDateTimeZone BRAZIL = DateTimeZone.forID("America/Sao_Paulo");DateTime start = new DateTime(2013, 10, 20, 5, 0, 0, BRAZIL);DateTime end = new DateTime(2013, 10, 21, 13, 0, 0, BRAZIL);System.out.println(daysBetween(start.withTimeAtStartOfDay(), end.withTimeAtStartOfDay()).getDays());// prints 0System.out.println(daysBetween(start.toLocalDate(), end.toLocalDate()).getDays());// prints 1
通过走出去LocalDate
回避了整个问题。
Java-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时间.不推荐使用日期构造函数.
解决方法:
您的用于生成日期对象的代码:
Date date = new Date("2/3/2017"); //deprecated
您得到28天作为答案,因为根据Date(String)构造函数,它认为day = 3,month = 2和year = 2017
您可以将String转换为Date,如下所示:
String dateStr = "2/3/2017";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = sdf.parse(dateStr);
使用上面的模板制作Date对象.然后使用下面的代码计算两个日期之间的天数.希望这清楚的事情.
它可以完成如下操作:
long diff = endDateValue.getTime() - startDateValue.getTime();
System.out.println ("Days: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));
请检查link
如果使用Joda Time,它将更加简单:
int days = Days.daysBetween(date1, date2).getDays();
请检查JodaTime
How to use JodaTime in Java Project
今天关于计算HIVE中两个日期之间的天数和hive求两个日期之间的天数的介绍到此结束,谢谢您的阅读,有关Android计算两个日期之间的天数、ios – 查找iphone中两个日期之间的总天数、Java Joda-Time中两个日期之间的天数、Java-Android计算两个日期之间的天数等更多相关知识的信息可以在本站进行查询。
本文标签: