标签: date-arithmetic

两个日期之间的差异(以分钟为单位) - 不同月份 - Java

我想找出两个日期之间的分钟差。如果两个日期在同一个月(和同一年),我的代码运行良好,但似乎差异认为每个月有 31 天长,因此对于日期:

 2016-02-29 12:21
 2016-03-1 12:21
Run Code Online (Sandbox Code Playgroud)

我有 4320 分钟或 72 小时

为了:

 2016-04-30 12:21
 2016-05-01 12:21
Run Code Online (Sandbox Code Playgroud)

我有 2880 分钟或 48 小时

我的代码,其中 d1 和 d2 是日期对象:

long getDateDiff(Date d1, Date d2, TimeUnit timeUnit) {
    long diff = d2.getTime() - d1.getTime(); //in millisec
    long diffMinutes = TimeUnit.MILLISECONDS.toMinutes(diff);
    return diffMinutes;
}
Run Code Online (Sandbox Code Playgroud)

java date date-arithmetic

4
推荐指数
1
解决办法
2139
查看次数

用零填充 PostgreSQL 中缺失的日期

我在 PostgreSQL 中有一个这样的查询:

select count(id_student) students, date_beginning_course from 
data.sessions_courses
left join my_schema.students on id_session_course=id_sesion 
where course_name='First course'
group by date_beginning_course
Run Code Online (Sandbox Code Playgroud)

我通过此查询获得的是在多个日期参加“第一门课程”课程的学生人数,例如:

Students  Date_beginning_course
____________________________________

5         2019-06-26
1         2019-06-28
5         2019-06-30
6         2019-07-01
2         2019-07-02
Run Code Online (Sandbox Code Playgroud)

我想用缺失的日期值填充此表,并且对于每个缺失的值,在“学生”列中指定“0”,因为该日期没有学生。例子:

Students  Date_beginning_course
____________________________________

5         2019-06-26
0         2019-06-27  <--new row
1         2019-06-28
0         2019-06-29  <--new row
5         2019-06-30
6         2019-07-01
2         2019-07-02
Run Code Online (Sandbox Code Playgroud)

你可以帮帮我吗?谢谢!:)

sql postgresql left-join date-arithmetic gaps-and-islands

4
推荐指数
1
解决办法
3727
查看次数

MySQL 为该范围内的每一天选择具有日期范围的行

我有一个包含事件范围的表,如下所示:

id | title | start      | end
1  | Lorem | 2019-11-02 | 2019-11-03
2  | Ipsum | 2019-11-02 | 2019-11-02
3  | Dolor | 2019-11-08 | 2019-11-10
4  | Amet  | 2019-11-02 | 2019-11-04
Run Code Online (Sandbox Code Playgroud)

我想选择所有行,但加入范围内的日期,这样我就可以为范围内每天的每个事件设置 X 行。结果应该来自我的示例表:

date        | id | title | start      | end
2019-11-02  | 1  | Lorem | 2019-11-02 | 2019-11-03
2019-11-02  | 2  | Ipsum | 2019-11-02 | 2019-11-02
2019-11-02  | 4  | Amet  | 2019-11-02 | 2019-11-04
2019-11-03  | 1  | Lorem …
Run Code Online (Sandbox Code Playgroud)

mysql sql recursive-query date-arithmetic mysql-5.7

4
推荐指数
1
解决办法
1352
查看次数

如何在postgresql中从工作日数字获取日期名称?

我有一个表,其中工作日存储为整数(0 到 6)。

我需要什么函数来创建与这些日期数字相关的日期名称?

例如:0 -> 周日,1->周一等

喜欢:

SELECT magic(my_day_number) FROM my_table;
Mon
Run Code Online (Sandbox Code Playgroud)

sql postgresql date-arithmetic

4
推荐指数
1
解决办法
7267
查看次数

有没有办法使用 BigQuery 的 DAYOFWEEK 但将星期一作为第一天?

我目前正在尝试使用以下查询将日期列映射到其星期几,其中星期一为 1,星期日为 7:

EXTRACT(DAYOFWEEK FROM dates) AS day_of_week

然而,根据 BQ 的文档,该函数似乎使用星期日作为一周的第一天。有没有办法优雅地解决这个问题,而不需要在我的查询中使用条件表达式并手动调整结果?

BQ 文档:

DAYOFWEEK: Returns values in the range [1,7] with Sunday as the first day of the week.

sql date-arithmetic google-bigquery

4
推荐指数
1
解决办法
5306
查看次数

PostgreSQL 结合计数、最近 7 天计数和最近 30 天计数 按天分组

我有一个小表 ( TABLEA),其中有两列IDA& DATETIMEA

塔贝拉

IDA  DATETIMEA
1    2020-03-16 13:15:00
2    2020-03-17 15:25:00
3    2020-03-18 17:10:00
5    2020-03-19 11:44:00
5    2020-03-20 12:55:00
5    2020-03-21 19:35:00
7    2020-03-22 10:13:00
8    2020-03-22 15:25:00
8    2020-03-28 12:12:00
9    2020-03-29 17:55:00
10   2020-03-30 11:54:00
12   2020-03-30 15:35:00
12   2020-03-31 13:19:00
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取IDA每天的总计、过去 7 天的总计和过去 30 天的总计。

预期输出

DATE       DAY L7 L30
2020-03-16 1   1  1
2020-03-17 1   2  2
2020-03-18 1   3  3
2020-03-19 1   4  4
2020-03-20 1 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql datetime count date-arithmetic

4
推荐指数
1
解决办法
1892
查看次数

如何从Oracle/PLSQL中的部件创建日期时间?

我有一个约会(2012年4月30日),一小时(4)和一分钟(45).我需要将其转换为Oracle datetime值,以便在PLSQL/Oracle SELECT语句中进行比较.理想情况下,会有这样的函数(C#,因为我知道它好一点):

var date = "4/30/2012";
var hour = "4";
var minute = "45";
DateTime myDateTime = convertDateTime(date, hour, minute);
Run Code Online (Sandbox Code Playgroud)

我有一个包含三列的表格来组成活动的日期和时间.我有另一个表,根据其开始和结束日期,可能会或可能不匹配的项目.在伪SQL中,这是我正在尝试做的事情:

SELECT 
    G.Name, 
    (SELECT MAX(Cost) 
        FROM CrappyTable AS C 
        WHERE G.StartTime < convertDateTime(C.Date, C.Hour, C.Minute) 
        AND G.EndTime > convertDateTime(C.Date, C.Hour, C.Minute)) as Cost
FROM GoodTable as G
WHERE G.Price < 100.00;
Run Code Online (Sandbox Code Playgroud)

或"选择价格低于100美元的名称和最高成本(从一段时间内报告的成本)."

是否存在可能执行上述convertDateTime功能的现有功能?

oracle plsql date-arithmetic

3
推荐指数
1
解决办法
1万
查看次数

Oracle日期差异SQL查询

可能重复:
计算Oracle SQL中2个日期/时间之间的差异

我有一张表,其中维护了PurchasedDate.我必须从系统中获取日期并计算日期差异.由于我在Oracle工作,datediff()没有给出结果.

样品表:

ProductID  Date
P101       31-DEC-2012
P102       29-DEC-2011

如果今天返回P102,差异应为10.

这是一个详细的描述

BillID     ProductID   Date
101          P101        31-DEC-2012
101          P102        31-DEC-2012
102          P405        29-JUN-2012
102          P210        29-JUN-2012
105          P205         2-MAY-2012

如果客户使用BillNo 101重新调用产品P101,则系统应计算返回日期(系统日期)与购买日期之间的差异.如果P101在2012年1月8日返回,则答案应为10

sql oracle date-arithmetic

3
推荐指数
1
解决办法
6万
查看次数

SQL:计算不同行中一列日期之间的天数

根据我的数据,我有个人在不同的日期多次进行评估.它看起来像这样:

??????????????????????????????????????????
? Person ? ID Number ? Date      ? Score ?
? John   ? 134       ? 7/11/2013 ? 18    ?
? John   ? 134       ? 8/23/2013 ? 16    ?
? John   ? 134       ? 9/30/2013 ? 16    ?
? Kate   ? 887       ? 2/28/2013 ? 21    ?
? Kate   ? 887       ? 3/16/2013 ? 19    ?
? Bill   ? 990       ? 4/18/2013 ? 15    ?
? Ken    ? 265       ? 2/12/2013 ? 23    ?
? Ken    ? 265       ? …
Run Code Online (Sandbox Code Playgroud)

sql date-arithmetic sql-server-2008

3
推荐指数
1
解决办法
5710
查看次数

Oracle数据库:从一天开始的总分钟数中获取时间

给定 - 从一天开始的分钟数(数字oracle类型),例如480.需要获得标准的oracle时间,例如 - 08:00:00 AM.这样的操作有什么好的功能吗?

sql oracle date-arithmetic

3
推荐指数
1
解决办法
151
查看次数