标签: datediff

PostgreSQL:如何计算PostgreSQL中的DATE差异?

在这里,我需要计算PostgreSQL中两个日期的差异.

在SQL Server中:就像我们在SQL Server中一样,它更容易.

DATEDIFF(Day, MIN(joindate), MAX(joindate)) AS DateDifference;
Run Code Online (Sandbox Code Playgroud)

我的尝试:我正在尝试使用以下脚本:

(Max(joindate) - Min(joindate)) as DateDifference;
Run Code Online (Sandbox Code Playgroud)

问题:

  • 我的方法是否正确?

  • PostgreSQL中是否有任何函数来计算它?

postgresql datediff

14
推荐指数
5
解决办法
6万
查看次数

是否可以为T-SQL DATEDIFF函数设置星期开始?

我使用DATEDIFF函数来过滤本周添加的记录:

DATEDIFF(week, DateCreated, GETDATE()) = 0
Run Code Online (Sandbox Code Playgroud)

而且我注意到星期天星期几开始的假设.但在我的情况下,我宁愿在星期一开始一周的开始.在T-SQL中有可能以某种方式吗?

谢谢!


更新:

下面是一个示例,显示DATEDIFF没有检查@@ DATEFIRST变量,所以我需要另一个解决方案.

SET DATEFIRST 1;

SELECT 
    DateCreated, 
    DATEDIFF(week, DateCreated, CAST('20090725' AS DATETIME)) AS D25, 
    DATEDIFF(week, DateCreated, CAST('20090726' AS DATETIME)) AS D26
FROM
(
    SELECT CAST('20090724' AS DATETIME) AS DateCreated
    UNION 
    SELECT CAST('20090725' AS DATETIME) AS DateCreated
) AS T
Run Code Online (Sandbox Code Playgroud)

输出:

DateCreated             D25         D26
----------------------- ----------- -----------
2009-07-24 00:00:00.000 0           1
2009-07-25 00:00:00.000 0           1

(2 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

2009年7月26日是星期天,我希望DATEDIFF也在第三栏中返回0.

t-sql datediff date

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

DateDiff为每个时区返回不同的结果

我有PHP DateDiff的问题,我不明白为什么每个时区返回不同的结果,例如在这种情况下布拉格返回0个月,美国返回1个月.

这个差异以及我如何按预期返回1个月(而不是30天,当我加1个月)?

代码欧洲/布拉格:

date_default_timezone_set("Europe/Prague");
$from = new \DateTimeImmutable('2016-09-01');
$to = $from->add(new \DateInterval('P1M'));
var_dump($from);
var_dump($to);
var_dump($from->diff($to)->m);
var_dump($from->diff($to)->d);
Run Code Online (Sandbox Code Playgroud)

结果欧洲/布拉格:

object(DateTimeImmutable)#1 (3) {
  ["date"]=>
  string(26) "2016-09-01 00:00:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/Prague"
}
object(DateTimeImmutable)#3 (3) {
  ["date"]=>
  string(26) "2016-10-01 00:00:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/Prague"
}
int(0)
int(30)
Run Code Online (Sandbox Code Playgroud)

-

代码美国/太平洋:

date_default_timezone_set("US/Pacific");
$from = new \DateTimeImmutable('2016-09-01');
$to = $from->add(new \DateInterval('P1M'));
var_dump($from);
var_dump($to);
var_dump($from->diff($to)->m);
var_dump($from->diff($to)->d);
Run Code Online (Sandbox Code Playgroud)

结果美国/太平洋:

object(DateTimeImmutable)#2 (3) {
  ["date"]=>
  string(26) "2016-09-01 00:00:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(10) "US/Pacific"
}
object(DateTimeImmutable)#4 (3) {
  ["date"]=>
  string(26) …
Run Code Online (Sandbox Code Playgroud)

php datetime datediff date

13
推荐指数
1
解决办法
224
查看次数

PHP两个日期之间的差异?

可能重复:
如何使用PHP计算两个日期之间的差异?
php中的日期差异?

我在变量中有两个日期

$fdate = "2011-09-01"

$ldate = "2012-06-06"
Run Code Online (Sandbox Code Playgroud)

现在我需要它们之间的月份差异.
例如,如果你从明年的09(9月)到06(6月)计算这个答案应该是10 - 结果你会得到10.
我怎么能用PHP做到这一点?

php datediff

12
推荐指数
2
解决办法
6万
查看次数

如何在Microsoft Excel中的两个日期之间获得分钟差异?

我在Excel中做了一些工作,遇到了一些问题.我正在使用的仪器保存了测量的日期和时间,我可以使用以下格式将这些数据读入Excel:

   A           B
1 Date:      Time:
2 12/11/12   2:36:25
3 12/12/12   1:46:14
Run Code Online (Sandbox Code Playgroud)

我想要做的是找到两个日期/时间戳的差异,以便我可以从数据创建衰减曲线.所以在Excel中,我希望这样做(如果这个例子中的分钟数是错误的,我只是手动快速计算):

   A           B                 C
1 Date:      Time:       Time Elapsed (Minutes)
2 12/11/12   2:36:25               -
3 12/12/12   1:46:14            1436.82
Run Code Online (Sandbox Code Playgroud)

我已经四处寻找并找到了几种时间差异的方法,但他们总是假设日期是相同的.我夸大了我的测量之间的时间,但几天的翻滚是让我感到悲痛的原因.关于如何解决这个问题的任何建议或提示都会很棒.即使我能用十进制格式找到小时或天的日期和时间之间的差异,我也可以通过常数得到多个来得到我的答案.请注意,我有编程和Excel的经验,但请详细说明.我有时会迷失方向.

excel time datetime datediff

12
推荐指数
2
解决办法
9万
查看次数

在Postgresql中计算日期的差异

我试图找出表格中某些字段之间的时间.但是因为我正在使用Postgresql :((我不能使用DATEDIFF函数.我在网上找不到任何明确的指南/教程,它们显示了如何在Postgres中做类似的事情所以我需要帮助做同样的事情但是在Postgres

我假设如果我使用支持DATEDIFF函数的RDBMS,这个查询会有效,所以基本上我的问题是如何更改这个以便它使用Postgresql提供的功能?

SELECT Question.ID, 
Question.Status, COUNT (qUpdate.ID)  AS NumberofUpdates,
DATEDIFF (Question.LoggedTime,MIN(qUpdate.UpdateTime)) AS TimeBeforeFirstUpdate,
DATEDIFF(Question.LoggedTime, MAX(qUpdate.UpdateTime)) AS TimeBeforeLastUpdate
FROM qUpdate
LEFT JOIN Question ON qUpdate.qID=Question.ID
WHERE Question.Status = 'closed' AND qUpdate.Update NOT NULL
GROUP BY Question.Status, Question.ID, Question.LoggedTime;
Run Code Online (Sandbox Code Playgroud)

如果您需要更多信息或任何澄清,我会尽快回应.

sql postgresql datediff

10
推荐指数
2
解决办法
2万
查看次数

date_diff()期望参数1为DateTimeInterface,给定字符串

我遇到了这个问题,我不知道该怎么做......他们有相同的格式

$ date_expire ='2014-08-06 00:00:00';

$ date1 = date("Ymd G:i:s"); $ date2 = date_create($ date_expire);

$ diff = date_diff($ date1,$ date2); //这行有误

php datediff

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

SQLite:将差异表示为两个给定日期之间的天,小时,分钟

我试图将日期,小时和分钟(如1天,6小时,17分钟)中两个给定日期的差异表示为SQLite查询输出.我有entryinentryout作为datetimeSQLitedatabase中的字段.我试过的所有组合julianday,并strftime仍在运行到恶劣天气,但.

我试过了strftime('%d %H:%M', julianday(entryout)-julianday(entryin)).对于一行,值为2011-11-10 11:46,和2011-11-09 09:00.但输出是25 14:46代替01 02:46.

有人可以帮我解决这个问题,还是指出正确的逻辑呢?提前致谢.

sqlite datetime datediff

9
推荐指数
1
解决办法
9629
查看次数

Python Pyspark:使用 F.current_date() 过滤当前日期之前的 1 天

我想过滤数据集以查找特定日期之前的所有日期。具体来说是当前日期前 1 天。

我尝试了下面的代码:

df = df.filter(F.col('date') <= F.current_date() - 1)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

u"cannot resolve '(current_date() - 1)' due to data type mismatch: differing types in '(current_date() - 1)' (date and int)
Run Code Online (Sandbox Code Playgroud)

python datediff date subtraction pyspark

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

雅典娜日期差异

我正在尝试做我认为是一个简单的日期差异函数,但由于某种原因,我的单位值被读取为一列(“dd”),所以我不断收到无法解决错误

我正在使用 AWS Athena

我的代码是这样的

SELECT "reservations"."id" "Booking_ID"
    , "reservations"."bookingid" "Booking_Code"
    , "reservations"."property"."id" "Property_id"
    , CAST("from_iso8601_timestamp"("reservations"."created") AS date) "Created"
    , CAST("from_iso8601_timestamp"("reservations"."arrival") AS date) "Arrival"
    , CAST("from_iso8601_timestamp"("reservations"."departure") AS date) "Departure"
    , CAST("from_iso8601_timestamp"("reservations"."modified") AS date) "Modified"
    , date_diff("dd", CAST("from_iso8601_timestamp"("reservations"."created") AS date), CAST("from_iso8601_timestamp"("reservations"."arrival") AS date)) "LoS"
FROM
    "database".reservations
LIMIT 5;
Run Code Online (Sandbox Code Playgroud)

我试图从“创建日期”和“到达日期”中获得天数差异

我已经用 DD,"DD","dd",dd,Day,day,"day" 尝试了 date_diff 并且我得到了同样的错误。

datediff amazon-web-services presto amazon-athena

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