我想要计算2个日期时间字段之间的月数.
有没有比获得unix时间戳和除以2 592 000(秒)更好的方法并在MySQL中进行四舍五入?
我有两列:
job_start job_end
2011-11-02 12:20:37.247 2011-11-02 13:35:14.613
Run Code Online (Sandbox Code Playgroud)
如何使用T-SQL查找作业开始和作业结束之间经过的原始时间量?
我试过这个:
select (job_end - job_start) from tableA
Run Code Online (Sandbox Code Playgroud)
但结果是:
1900-01-01 01:14:37.367
Run Code Online (Sandbox Code Playgroud) 在T-SQL(SQL Server 2000)中计算某人年龄,月数和天数的最佳方法是什么?
该datediff功能不能很好地处理年份界限,加上将月份和日期分开将是一个熊.我知道我可以在客户端相对容易地做到这一点,但我想在我的存储过程中完成它.
我有一个具有此架构的表
ItemID UserID Year IsPaid PaymentDate Amount
1 1 2009 0 2009-11-01 300
2 1 2009 0 2009-12-01 342
3 1 2010 0 2010-01-01 243
4 1 2010 0 2010-02-01 2543
5 1 2010 0 2010-03-01 475
Run Code Online (Sandbox Code Playgroud)
我正在尝试查询工作,显示每个月的总计.到目前为止,我已经尝试过DateDiff和嵌套选择,但两者都没有给我我想要的东西.这是我认为最接近的:
DECLARE @start [datetime] = 2010/4/1;
SELECT ItemID, IsPaid,
(SELECT SUM(Amount) FROM Payments WHERE Year = 2010 And DateDiff(m, PaymentDate, @start) = 0 AND UserID = 100) AS "Apr",
(SELECT SUM(Amount) FROM Payments WHERE Year = 2010 AND DateDiff(m, PaymentDate, @start) =1 AND …Run Code Online (Sandbox Code Playgroud) 我现在已经搜索了4个小时,并且没有找到解决方案来获取JavaScript中年,月和日的两个日期之间的差异,例如:2010年4月10日是3年,x个月和y天前.
有很多解决方案,但它们只提供日期或月份或年份的格式差异,或者它们不正确(意味着不处理一个月或闰年的实际天数等).这样做真的很难吗?
我看过:
在PHP中它很容易,但不幸的是我只能在该项目上使用客户端脚本.任何能够做到这一点的库或框架都可以.
以下是日期差异的预期输出列表:
//Expected output should be: "1 year, 5 months".
diffDate(new Date('2014-05-10'), new Date('2015-10-10'));
//Expected output should be: "1 year, 4 months, 29 days".
diffDate(new Date('2014-05-10'), new Date('2015-10-09'));
//Expected output should be: "1 year, 3 months, 30 days".
diffDate(new Date('2014-05-10'), new Date('2015-09-09'));
//Expected output should be: "9 months, 27 days".
diffDate(new Date('2014-05-10'), new Date('2015-03-09'));
//Expected output should be: "1 year, 9 months, 28 days".
diffDate(new Date('2014-05-10'), new Date('2016-03-09')); …Run Code Online (Sandbox Code Playgroud) 我想计算过去日期和当前日期之间经过的天数.我的过去日期是格式dd/mm/yyyy格式.我使用了下面提到的公式,但给出了正确的输出.
=DAYS360(A2,TODAY())
=MINUS(D2,TODAY())
Run Code Online (Sandbox Code Playgroud)
在上面的公式中A2= 4/12/2012(dd/mm/yyyy),我不确定TODAY是否以dd/mm/yyyy格式返回.我试过在工具栏上使用123按钮,但没有运气.
我想知道如何获得这种差异的确切月数:
date1 = datetime.strptime(str('2011-08-15 12:00:00'), '%Y-%m-%d %H:%M:%S')
date2 = datetime.strptime(str('2012-02-15'), '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
date2-date1结果
datetime.timedelta(183, 43200)
Run Code Online (Sandbox Code Playgroud)
我想知道确切的月数,在这种情况下它应该返回5而不是6(因为小时)
我已经忙了好几个小时,但是我无法让它发挥作用.
SQL
SELECT DATEDIFF(end_time, start_time) as `difference` FROM timeattendance WHERE timeattendance_id = '1484'
start_time = 2012-01-01 12:00:00
end_time = 2012-01-02 13:00:00
Run Code Online (Sandbox Code Playgroud)
差异是25(小时).但我得到的输出是1(天).
我怎样才能获得25小时的输出?
我正在从一个mysql表构建一个快速的csv,其查询如下:
select DATE(date),count(date) from table group by DATE(date) order by date asc;
Run Code Online (Sandbox Code Playgroud)
并通过以下方式将它们转储到perl中的文件:
while(my($date,$sum) = $sth->fetchrow) {
print CSV "$date,$sum\n"
}
Run Code Online (Sandbox Code Playgroud)
但是数据中存在日期差距:
| 2008-08-05 | 4 |
| 2008-08-07 | 23 |
Run Code Online (Sandbox Code Playgroud)
我想填充数据以填写零计数条目的缺失日期,最终得到:
| 2008-08-05 | 4 |
| 2008-08-06 | 0 |
| 2008-08-07 | 23 |
Run Code Online (Sandbox Code Playgroud)
我把一个非常笨拙(几乎肯定是错误的)的解决方法打包在一起,每个月都有一些日数和一些数学,但是在mysql或perl方面必须有更直接的东西.
面对为什么我这么愚蠢的任何天才想法/拍打?
我最终使用了一个存储过程,该过程为所讨论的日期范围生成临时表,原因如下:
perl Date/DateTime迭代答案也非常好,我希望我能选择多个答案!