我要从MySQL数据库中选择一个TIMESTAMP.我想要做的是使用ColdFusion将其与当前时间进行比较.
如果DIFF的1+做这个....如果LT 1小时这样做....
谢谢
正如本问题的来自hightechrider 的回答提到下面的代码块更为正确
var start = DateTime.Parse("08/10/2011 23:50:31").Utc;
if(start.AddMinutes(20) > DateTime.UtcNow)
Run Code Online (Sandbox Code Playgroud)
然后由TimeSpan使用
var start = DateTime.Now;
var oldDate = DateTime.Parse("08/10/2011 23:50:31");
if(start - oldDate).TotalMinutes >= 20)
Run Code Online (Sandbox Code Playgroud)
这里既然DateTime执行并在同一文化中解析,那么它将如何产生差异?
我感觉很假的这个答案.
我正在寻找一种以会话风格生成人类可读日期引用的方法,如下所示:
diff( '2012-05-15', '2012-05-21' ) == "last Tuesday"
diff( '2012-05-15', '2012-05-16' ) == "yesterday"
diff( '2012-05-15', '2012-05-17' ) == "on Tuesday"
diff( '2012-04-11', '2012-05-21' ) == "on the 11th of April"
Run Code Online (Sandbox Code Playgroud)
我调查了一下strtotime(),这似乎与我想要的相反.该解决方案不需要使用未来的日期,只需要过去的日期.我看到另一个问题在JavaScript中为未来日期提出同样的问题,但它并没有真正解决我的问题.
有任何想法吗?
我的客户有这个 KTV 小时规则,所有退房时间超过 20 分钟将被视为额外的 1 小时。
示例代码如下:
declare @dateStart as datetime, @dateEnd as datetime
set @dateStart = cast('3/2/2013 8:00:00 PM' as datetime)
set @dateEnd = cast('3/2/2013 9:20:02 pm' as datetime)
SELECT DATEDIFF(hour, @dateStart, @dateEnd)
Run Code Online (Sandbox Code Playgroud)
上面的代码逻辑上返回 1:20 小时。在 SQL 服务器中,它将返回 1 小时。如何调整此代码以返回 2 小时?
提前致谢。
我在我试图解决的SQL报告中遇到了这行代码.有人能告诉我这是什么目的.
DATEADD(dd, - DATEDIFF(dd, d.TxnDateTime, 1), 1) As TxnDate
Run Code Online (Sandbox Code Playgroud)
对我来说,它似乎会取消自己.
Level1 Level2 createdate CCcreatedate datedifference
23 | 3 | 10/24/2014 17:07 | 10/24/2014 17:07
24 | 3 | 10/24/2014 23:48 | 10/25/2014 17:07
25 | 3 | 10/25/2014 9:57 | 10/26/2014 17:07
26 | 1 | 10/26/2014 17:49 | 10/27/2014 17:07
27 | 1 | 10/16/2014 12:53 | 10/28/2014 17:07
28 | 1 | 10/16/2014 12:32 | 10/29/2014 17:07
29 | 2 | 10/16/2014 13:58 | 10/30/2014 17:07
30 | 2 | 10/16/2014 16:40 | 10/31/2014 17:07
31 | 2 …Run Code Online (Sandbox Code Playgroud) 更新
我需要获得不同时区的两个日期时间之间的小时和分钟差异.
我有MySQL中的日期时间,以及从GMT到MySQL的位置的偏移量.
我尝试过的:
<cfset departure = CreateDateTime(2017,01,27,21,00,00)> <!--- (this time zone is +2) --->
<cfset arrival = CreateDateTime(2017,01,28,06,40,00)> <!--- (this time zone is -5) --->
<cfset depart_timezone = 2>
<cfset arrive_timezone = -5>
<cfset difference = datediff("h",departure,arrival)><!--- get the difference in hours --->
<cfset timezonedif = depart_timezone - arrive_timezone><!--- get the difference between the time zones (answer should be 7)--->
<cfset duration = difference + timezonedif><!--- add the time zone difference to the flight difference --->
<cfoutput>
(Duration: #duration# …Run Code Online (Sandbox Code Playgroud) 我正在使用 Microsoft SQL Server。我有一个表用户 ID 和登录日期。我将日期最初存储为日期时间,但我将它们转换为日期。我需要显示按用户 ID 分组的每次登录之间的日期差异;如果用户 ID 更改,我希望该函数不计算登录之间的差异。我的表的一个例子是:
user_id, login_date
356,2012-03-22
356,2012-03-22
356,2012-03-22
356,2012-03-23
356,2012-07-17
356,2012-07-19
356,2012-07-20
381,2011-11-28
473,2011-12-29
473,2011-12-29
473,2011-12-29
473,2011-12-29
473,2012-01-13
473,2012-01-26
473,2012-01-29
Run Code Online (Sandbox Code Playgroud)
有很多类似的帖子,我试图从中建立我的查询。但是,我输出的 datediff 似乎并不总是与日期匹配。这是我最近的尝试:
;with cte AS (SELECT *,ROW_NUMBER() OVER(PARTITION BY login.user_id
ORDER BY login.user_id, login.login_date) AS RN
FROM login)
SELECT a.user_id, a.login_date ,datediff(day, a.login_date, b.login_date)
FROM cte a
LEFT JOIN cte b
ON a.user_id = b.user_id
and a.rn = b.rn -1
Run Code Online (Sandbox Code Playgroud)
输出示例是:
user_id, login_date
356,2012-03-22,0
356,2012-03-22,0
356,2012-03-22,0
356,2012-03-23,0
356,2012-07-17,1
356,2012-07-19,0
356,2012-07-20,0
381,2011-11-28,0
473,2011-12-29,0 …Run Code Online (Sandbox Code Playgroud) 我一直在尝试学习一些 SQL,但我在语言方面很挣扎。我试图从表格中找出两个日期(出发和到达)之间的差异。其他地方已声明使用 DATEDIFF,但我试图直接从表中提取数据,而不是手动键入日期。这是我尝试使用此功能的可怕尝试
SELECT DATEDIFF(a.departure_time, a.arrival_time) as HourDiff;
FROM airlines a
WHERE HourDiff >= 8
Run Code Online (Sandbox Code Playgroud)
我也在试图找到超过 8 小时的时间差异,但老实说我真的不知道我目前在做什么......我应该写这篇文章的正确方式是什么?
我试图修改旧查询并遇到此代码块
select DATEADD(MONTH, DATEDIFF(MONTH, -1,getdate() )-1, 1)
Run Code Online (Sandbox Code Playgroud)
但是我相信dateadd和datediff函数需要一些date参数来进行计算。但是这里的DateDiff和DateAdd在Date参数的位置有一些整数值
例如DATEDIFF(MONTH,-1,getdate())-1返回1431,它只是一个十进制值,但是根据文档的代码块查找Date参数。
https://www.w3schools.com/sql/func_sqlserver_datediff.asp
对于DateAdd也是如此
有人请分享一些解释