问题标签 [datediff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
40 回答
187994 浏览

c# - Calculate relative time in C#

Given a specific DateTime value, how do I display relative time, like:

  • 2 hours ago
  • 3 days ago
  • a month ago
0 投票
4 回答
18580 浏览

sql - Oracle 相当于 SQL Server/Sybase DateDiff

我们现在使用 NHibernate 连接到基于我们软件安装位置的不同数据库。所以我将许多 SQL 过程移植到 Oracle。

SQL Server 有一个名为 DateDiff 的好函数,它接受日期部分、开始日期和结束日期。

日期部分示例为日、周、月、年等。.

什么是 Oracle 等价物?

我还没有找到我必须创建自己的版本吗?

(由 Mark Harrison 更新)有几个很好的答案可以解释 Oracle 日期算法。如果您需要 Oracle datediff() 请参阅爱因斯坦的回答。(我需要这个来保持 Sybase 和 Oracle 之间的 spme SQL 脚本兼容。)请注意,这个问题同样适用于 Sybase。

0 投票
4 回答
9815 浏览

sql-server - SQL Server 计算当前行和下一行之间日期差异的最佳方法?

我有以下粗略的结构:

数据可以在多个对象之间共享。

我想要做的是清除旧的对象修订。我想保留第一个、活动的和广泛的修订,以便保留一段时间内的最后一次更改。数据可能会在 2 天内发生很大变化,然后单独放置几个月,所以我想保留更改开始之前的最后一次修订和新集的结束更改。

我目前正在使用光标和临时表来保存更改之间的 ID 和日期,这样我就可以选择要摆脱的低悬的果实。这意味着使用@LastID、@LastDate、更新和插入临时表等...

在不使用游标和临时表的情况下,是否有更简单/更好的方法来计算初始结果集中当前行和下一行之间的日期差异?

我在 sql server 2000 上,但会对 2005、2008 的任何新功能感兴趣,这也可以帮助解决这个问题。

0 投票
24 回答
152274 浏览

tsql - 如何在 T-SQL 中用年、月和日计算年龄

在 T-SQL (SQL Server 2000) 中以年、月和日为单位计算某人年龄的最佳方法是什么?

datediff函数不能很好地处理年份边界,而且将月份和日期分开将是一个负担。我知道我可以在客户端相对容易地做到这一点,但我想在我的存储过程中完成它。

0 投票
9 回答
20752 浏览

mysql - 在 sql 结果中填充空日期的最直接方法是什么(在 mysql 或 perl 端)?

我正在从 mysql 表中构建一个快速 csv,其查询如下:

并将它们转储到 perl 中的文件中:

但是,数据中存在日期差距:

我想用零计数条目填充数据以填充缺失的日期,最终得到:

我用每月几天的数组和一些数学计算了一个非常尴尬(而且几乎肯定有问题)的解决方法,但是在 mysql 或 perl 方面必须有更直接的方法。

为什么我这么愚蠢,有什么天才的想法/耳光吗?


我最终使用了一个存储过程,该过程为相关日期范围生成了一个临时表,原因如下:

  • 我知道我每次都会寻找的日期范围
  • 不幸的是,有问题的服务器不是我可以在 atm 上安装 perl 模块的服务器,而且它的状态已经足够陈旧,以至于它没有远程安装任何东西 Date::-y

perl 日期/日期时间迭代的答案也很好,我希望我可以选择多个答案!

0 投票
3 回答
4264 浏览

sql - SQL(?): Counting the time between two datetime values

What is the best way to count the time between two datetime values fetched from MySQL when I need to count only the time between hours 08:00:00-16:00:00.

For example if I have values 2008-10-13 18:00:00 and 2008-10-14 10:00:00 the time difference should be 02:00:00.

Can I do it with SQL or what is the best way to do it? I'm building a website and using PHP.

Thank you for your answers.

EDIT: The exact thing is that I'm trying to count the time a "ticket" has been in a specific state during working hours. The time could be like a couple weeks.

EDIT2: I have no problems counting the actual time difference, but substracting that off-time, 00:00:00-08:00:00 and 16:00:00-00:00:00 per day.

-Samuli

0 投票
4 回答
165687 浏览

sql - Oracle - 获取两个 DateTime 列之间的分钟差的最佳 SELECT 语句?

我正在尝试满足来自客户的一个相当困难的报告请求,我需要在几分钟内找到两个 DateTime 列之间的差异。我尝试使用各种格式的 trunc 和 round ,但似乎无法想出一个有意义的组合。有没有一种优雅的方式来做到这一点?如果没有,有没有办法做到这一点?

0 投票
14 回答
33567 浏览

c# - 计算给定日期范围内的星期一数

给定日期范围,我需要知道该范围内有多少个星期一(或星期二、星期三等)。

我目前正在使用 C#。

0 投票
4 回答
10221 浏览

sql - SQL:让 DATEDIFF 不返回负值

我有一个查询,我在其中提取可执行文件的运行时。数据库包含它的开始时间和结束时间。我想获得跑步的总时间。到目前为止,我有:

当我执行此操作时,我会得到预期值和一些意外值。例如,如果 starttime = 2008-11-02 15:59:59.790 和 endtime = 2008-11-02 19:05:41.857,则运行时间 = 4:-54。在这种情况下,如何在 MS SQL SMS 中获得查询以返回值 3:06?

谢谢。

我选择的 Eoin Campbell 的答案是最能满足我需求的。大卫 B 的也可以。

0 投票
21 回答
235011 浏览

mysql - MySQL中日期之间的月差

我正在寻找计算 2 个日期时间字段之间的月数。

有没有比获取 unix 时间戳和除以 2 592 000(秒)并在 MySQL 中四舍五入更好的方法?