
释义:DATEDIFF可以计算开始时间与结束时间的时间差,结果是天数
栗子:
语法:TIMESTAMPDIFF(时间粒度,开始时间,结束时间)
释义:(1)时间粒度参数:
2/SECOND--秒:计算开始时间与结束时间相差的秒数。
4/MINUTE--分:计算开始时间与结束时间相差多少分钟。
8/HOUR--小时:计算开始时间与结束时间相差多少小时。
16/DAY--天:计算开始时间与结束时间相差的天数。
32/WEEK--周:计算开始时间与结束时间相差的周数。
64/MONTH--月:计算开始时间与结束时间相差多少月。
128/QUARTER--季:计算开始时间与结束时间相差的季度数。
256/YEAR--年:计算开始时间与结束时间相差的年数。
(2)开始时间:需要计算时间差的开始时间,参数格式需要为时间格式。
(3)结束时间:需要计算时间差的结束时间,参数格式需要为时间格式。
栗子:
语法
DATEDIFF ( datepart , startdate , enddate )
参数
datepart
startdate
是计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。
如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。
enddate
是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
返回类型
integer
注释
startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。
当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。
计算跨分钟、秒和毫秒这些边界的方法,使得 DATEDIFF 给出的结果在全部数据类型中是一致的。结果是带正负号的整数值,其等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。
示例
此示例确定在 pubs 数据库中标题发布日期和当前日期间的天数。
USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
sql 怎么计算两个时间的天数select datediff(part,StartDate,EndDate)
part:日期的哪一部分计算差额的引数
StartDate:开始时间
EndDate:截至时间
如:select datediff(dd,'2010-09-20','2010-09-21')
结果:1
即两个日期相差1天;
select datediff(mm,'2010-09-20','2010-09-21')
结果:0
即两个日期都是同月。
用Excel如何计算出两个时间的天数差A1=DATEDIF(A1,B1,"d")
注意,A1的日期在小于B1的日期,要不出错
JAVA怎么计算两个时间的差?方法一:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
try
{
Date d1 = df.parse("2004-03-26 13:31:40")
Date d2 = df.parse("2004-01-02 11:30:24")
long diff = d1.getTime() - d2.getTime()
long days = diff / (1000 * 60 * 60 * 24)
}
catch (Exception e)
{
}
方法二:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
java.util.Date now = df.parse("2004-03-26 13:31:40")
java.util.Date date=df.parse("2004-01-02 11:30:24")
long l=now.getTime()-date.getTime()
long day=l/(24*60*60*1000)
long hour=(l/(60*60*1000)-day*24)
long min=((l/(60*1000))-day*24*60-hour*60)
long s=(l/1000-day*24*60*60-hour*60*60-min*60)
System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒")
方法三:
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
java.util.Date begin=dfs.parse("2004-01-02 11:30:24")
java.util.Date end = dfs.parse("2004-03-26 13:31:40")
long beeen=(end.getTime()-begin.getTime())/1000除以1000是为了转换成秒
long day1=beeen/(24*3600)
long hour1=beeen%(24*3600)/3600
long minute1=beeen%3600/60
long second1=beeen%60/60
System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒")
方法挺多的,能有你要的结果就行。
怎么计算两个时间的差值:blog.csdn./xianfajushi/article/details/4570876
怎么计算两个时间的加减1.选择要计算的两个单元格;
2.单击右键(或使用选单“格式”),设定单元格的格;
3.选择“数字”标签中的“分类”为“日期”;
4.再选择“数字”标签中的“型别”为一带日期的时间型别;
5.在其它单元格直接计算上述两个单元格的差即可
excel中怎么计算两个时间点的天数
假如要计算单元格A1、B1两个时间点的天数,你首先把A1、B1这两个单元格设成日期格式,然后在你需要反映两个时间点天数的单元格中输入公式“=DATEDIF(A1,B1,"D")”即可(反映两个时间点天数的单元格的格式设成数值或文字)。如果你要计算A1中的日期到当前日的天数你把公式中的B1改成TODAY()。
c# 计算两个时间的差值public string getTimeSpan(DateTime startTime, DateTime endTime)
{
TimeSpan ts = endTime - startTime
int tYear = endTime.Year-startTime.Year-((startTime.Month>endTime.Month)?1:0)
int tMonth = endTime.Year * 12 + endTime.Month - startTime.Year * 12 - startTime.Month
int tDay = (endTime.Day>startTime.Day)?(endTime.Day-startTime.Day):(30+endTime.Day-startTime.Day)不完善,可以改进。。。
return tYear.toString()+"年"+tMonth.toString()+"月"+ tDay+"天"
}
在asp中计算两个时间的差值DateDiff(interval, date1, date2 [,firstdayofweek[, firseekofyear]])
DateDiff 函式的语法有以下引数:
引数 描述
interval 必选。String expression 表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设定”部分。
date1, date2 必选。日期表示式。用于计算的两个日期。
firstdayofweek 可选。指定星期中第一天的常数。如果没有指定,则预设为星期日。有关数值,请参阅“设定”部分。
firseekofyear 可选。指定一年中第一周的常数。如果没有指定,则预设为 1 月 1 日所在的星期。有关数值,请参阅“设定”部分。
interval 引数可以有以下值:
设定 描述
yyyy 年
q 季度
n 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 小时
m 分钟
s 秒
firstdayofweek 引数可以有以下值:
常数 值 描述
vbUseSystem 0 使用区域语言支援 (NLS) API 设定。
vbSunday 1 星期日(预设)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firseekofyear 引数可以有以下值:
常数 值 描述
vbUseSystem 0 使用区域语言支援 (NLS) API 设定。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(预设)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。
例子:
Function DiffADate(theDate)
DiffADate = "从当天开始的天数:" &DateDiff("d", Now, theDate)
End Function
shell中如何计算两个时间的时间差参考程式码如下:
start=`date +%s -d "2011-11-28 15:55:37"`
end=`date +%s -d "2011-11-28 15:55:52"`
echo $(($end-$start))
这个前提是能拿到开始和结束时间字串的基础上的。
如果日志档案输出格式是上述的话,还有个方法:
cat 日志档案 | awk '/^000/{
start=$2 " " $3
end=$4 " " $5
stm=mktime(gensub(/[:-]/, " ", "g", start))
etm=mktime(gensub(/[:-]/, " ", "g", end))
print $1 " - " etm-stm
}'
delphi TDateTime类,如何计算两个时间的差?楼上的说得没错,时间是可以直接相减的
例如
X:=Date2-Date1x是相差的天数
Y:=x*24Y是相差的小时数
z:=x*24*60Z就是相差的分钟数
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)