獲得當天的時間範圍 精確到毫秒

2021-04-18 01:46:18 字數 1308 閱讀 8008

declare @i int,@t1 datetime , @t2 datetime;

select @i = 0, @t1 = getdate();

while @i<1000000

begin

declare @begindate datetime, @enddate datetime

-- 方法1,用datediffselect @begindate = cast(datediff(day, 0, getdate()) as datetime)

, @enddate = dateadd(ms,-2,datediff(day,-1,getdate()))--select @begindate datetime, @enddate

set @i=@i+1

endselect @t2 = getdate();

print convert(nvarchar(100), convert(float, @t2-@t1))

godeclare @i int,@t1 datetime , @t2 datetime;

select @i = 0, @t1 = getdate();

while @i<1000000

begin

declare @begindate datetime, @enddate datetime

-- 方法2,獲取當前天數來計算select @begindate = round (convert(float, getdate()),0,1) -- 獲取日期部分 2008-05-01 00:00:00.000

, @enddate = @begindate + .999999999 -- 計算日期最後一秒 2008-05-01 23:59:59.997--select @begindate datetime, @enddate

set @i=@i+1

endselect @t2 = getdate();

print convert(nvarchar(100), convert(float, @t2-@t1))

測試結果
7.8125e-005

7.24923e-005

第二種會比第一種方法快那麼一點,呵呵.

其實計算為2天的範圍更好

'2008-06-01 00:00:00.000' '2008-06-02 00:00:00.000'

比較時用 creattime >= @begin and createtime < @end

輸出毫秒 C語言如何獲得精確到毫秒的時間

在做測試或效能優化時,經常要知道程式執行的時間,在linux系統可以使用time命令來計算程式執行執行所消耗的時間,能精確到毫秒,如果要精確到 塊或某個操作執行時所消耗的時間,time命令就不給力了。如果對時間的精度要求不高的話,可以呼叫標準c的介面time來得到開始和結束的時間,再呼叫diffti...

VB顯示時間精確到毫秒

private declare sub getlocaltime lib kernel32 lpsystemtime as systemtime private type systemtime wyear as integer wmonth as integer wdayofweek as inte...

C Builer 獲取系統時間,精確到毫秒

獲取系統時間,精確到毫秒 ansistring fastcall tform1 gettimestring getlocaltime所擁有的 年月週日時分秒毫秒 的表示法 wyear word wmonth word wdayofweek word wday word whour word wmin...