ACCESS時間日期操作大全

2022-11-07 18:15:03 字數 5981 閱讀 6868

根據選中的日期,查詢相關的內容,但不是按照整個日期去過濾,而是根據,年,月,日拆分的形式去過濾,比如2023年的,2月份的

在sqlserver中,我們可以可以直接根據datepart去完成即可

select * from pays where 1=1 and datepart(year, pdate)=2013 and datepart(month,pdate)=2 and datepart(day, pdate)=26 order by pdate

但是在access中卻通不過,因為方法有些不一樣,需要這樣寫

select * from pays where 1=1 and datepart("yyyy", pdate)=2013 and datepart("m",pdate)=2 and datepart('d', pdate)=21 order by pdate

關於sqlserver的函式在前面說到了,現在把access的日期函式總結一下如何將文字型:2003.08.

04轉換為日期型:2003-08-04cdate(replace("2003.08.

04顯示當前日期在該年中所處的星期號=format(now(), "ww")ww為1到53。

顯示日期字段值的四位年份值。=datepart("yyyy", [訂購日期])顯示日期欄位值前10天的日期值。=dateadd("y", -10, [應付日期])顯示日期欄位值前乙個月的日期值。

=dateadd("m",-1,date())

顯示日期1和日期2之間相差的天數。=datediff("d", [訂購日期], [發貨日期])從今天算起到三個月後的日期之間的記錄。betweeb date() and adddate(3,date())根據出生日期計算年齡(周歲)

=iif(month(date())-month([出生年月日])>-1,year(date())-year([出生年月日]),year(date())-year([出生年月日])-1)

自定義日期/時間格式(format函式)

(:)時間分隔符。在一些區域,可能用其他符號來當時間分隔符。

格式化時間值時,時間分隔符可以分隔時、分、秒。時間分隔符的真正字元在格式輸出時取決於系統的設定。(/)日期分隔符。

在一些區域,可能用其他符號來當日期分隔符。格式化日期數值時,日期分隔符可以分隔年、月、日。日期分隔符的真正字元在格式輸出時取決於系統設定。

c以ddddd來顯示日期並且以ttttt來顯示時間。如果想顯示的數值無小數部分,則只顯示日期部分,如果想顯示的數值無整數部分,則只顯示時間部分。d

以沒有前導零的數字來顯示日(1 – 31)。dd

以有前導零的數字來顯示日(01 – 31)。ddd

以簡寫來表示日(sun –sat)。dddd

以全稱來表示日(sunday –saturday)。ddddd

以完整日期表示法顯示(包括年、月、日),日期的顯示要依系統的短日期格式設定而定。預設的短日期格式為m/d/yy。dddddd

以完整日期表示法顯示日期系列數(包括年、月、日),日期的顯示要依系統識別的長日期格式而定。預設的長日期格式為mmmm dd, yyyy。aaaa

與dddd一樣,它只是該字串的本地化版本。w

將一周中的日期以數值表示(1表星期日~ 7表星期六)。ww

將一年中的星期以數值表示(1 – 54)。m

以沒有前導零的數字來顯示月(1 – 12)。如果m是直接跟在h或hh之後,那麼顯示的將是分而不是月。mm

以有前導零的數字來顯示月(01 – 12)。如果m是直接跟在h或hh之後,那麼顯示的將是分而不是月。mmm

以簡寫來表示月(jan –dec)。mmmm

以全稱來表示月(january –december)。oooo

與mmmm一樣,它只是該字串的本地化版本。q

將一年中的季以數值表示(1 – 4)。y

將一年中的日以數值表示(1 – 366)。yy

以兩位數來表示年(00 – 99)。yyyy

以四位數來表示年(00 – 99)。

h以沒有前導零的數字來顯示小時(0 – 23)。hh

以有前導零的數字來顯示小時(00– 23)。n

以沒有前導零的數字來顯示分(0 – 59)。nn

以有前導零的數字來顯示分(00 – 59)。s

以沒有前導零的數字來顯示秒(0 – 59)。ss

以有前導零的數字來顯示秒(00 – 59)。t t t t t

以完整時間表示法顯示(包括時、分、秒),用系統識別的時間格式定義的時間分隔符進行格式化。如果選擇有前導零並且時間是在10:00 或之前,那麼將顯示有前導零的時間。

預設的時間格式為h:mm:ss。

am/pm

在中午前以12小時配合大寫am符號來使用;在中午和11:59 間以12小時配合大寫pm來使用。am/pm

在中午前以12小時配合小寫am符號來使用;在中午和11:59 間以12小時配合小寫pm來使用。a/p

在中午前以12小時配合大寫a符號來使用;在中午和11:59 間以12小時配合大寫p來使用。a/p

在中午前以12小時配合小寫a符號來使用;在中午和11:59 間以12小時配合小寫p來使用。ampm

在中午前以12小時配合系統設定的am字串文本來使用;在中午和11:59 間以12小時配合系統設定的pm字串文本來使用。ampm可以是大寫或小寫,但必須和您的系統設定相配。

其預設格式為am/pm。日期函式示例當天日期:=date()當日:

=day(date)當月:=month(date())當年:=year(date())

當季:=datepart("q",date())把日期大寫

function date2chinese(idate)dim num(10)dim iyeardim imonthdim idaynum(0) = "〇"num(1) = "一"num(2) = "二"num(3) = "三"num(4) = "四"num(5) = "五"num(6) = "六"num(7) = "七"num(8) = "八"num(9) = "九"iyear = year(idate)imonth = month(idate)iday = day(idate)

date2chinese = num(iyear \ 1000) + _

num((iyear \ 100) mod 10) + num((iyear \ 10) mod 10) + num(iyear mod 10) + "年"

if imonth >= 10 thenif imonth = 10 then

date2chinese = date2chinese +"十" + "月"else

date2chinese = date2chinese +"十" + num(imonth mod 10) + "月"end ifelse

date2chinese = date2chinese +num(imonth mod 10) + "月"end if

if iday >= 10 thenif iday = 10 then

date2chinese = date2chinese +"十" + "日"elseif iday = 20 or iday = 30 then

date2chinese = date2chinese + num(iday \ 10) + "十" + "日"

elseif iday > 20 then

date2chinese = date2chinese + num(iday \ 10) + "十" + num(iday mod 10) +"日"else

date2chinese = date2chinese + "十" + num(iday mod 10) + "日"end ifelse

date2chinese = date2chinese + num(iday mod 10) + "日"end ifend function算出每個月的天數一法:dim a, b, ca = year(now())b = month(now())

c = format((a & "/" & b + 1 & "/1format((a & "/" & b & "/1二法:

datediff("d", format(date, "yyyy-mm-01"), format(dateadd("m", -1, date), "yyyy-mm-01"))

datediff可以算出兩個日期之間相差幾天!三法:

day(dateadd("d", -1, format(date, "yyyy-mm-01")))

day函式可以知道某個日期是這個月的第幾天,我們把這個月的最後一天拿出來day一下!應該還有更好的方法!比如說可以定義乙個陣列,把每個月的日子放進去,或者說寫乙個函式算每乙個月的天數只要考慮一下閨年的問題就可以了!

如何得到某年每個月的第一天是星期幾private sub command1_click()

dim i as integer, a as integer, b as integer, c as stringa = inputbox("請輸入年份", "某年每個月的第一天是星期幾") i = 1 to 12c = a & "-" & i & "-1"b = weekday(c)select case bcase vbsunday

print a & "年" & i & "月1日是星期日"

case vbmonday

print a & "年" & i & "月1日是星期一"case vbtuesday

print a & "年" & i & "月1日是星期二"case vbwednesday

print a & "年" & i & "月1日是星期三"case vbthursday

print a & "年" & i & "月1日是星期四"case vbfriday

print a & "年" & i & "月1日是星期五"case vbsaturday

print a & "年" & i & "月1日是星期六"end selectnext iend sub

計算天數及月初月末日期

function本月天數(日期as date) as byte

本月天數= dateserial(year(日期), month(日期) + 1, day(日期)) -日期end function

function月末(日期as date) as date

月末= dateserial(year(日期), month(日期) + 1, 1) - 1end function

function月初(日期as date) as date月初=日期- day(日期) + 1end function本月最後一日是週幾select

weekday(dateadd("m",1,dateserial(year(date()),month(date()),1)-1)) as本月最後一日是週幾,

下月最後一日是週幾select

weekday(dateadd("m",2,dateserial(year(date()),month(date()),1)-1)) as下月最後一日是週幾,

本月最後乙個周5到月底的天數select

(weekday(dateadd("m",1,dateserial(year(date()),month(date()),1)-1))+1) mod 7 as本月最後乙個周5到月底的天數;

下月最後乙個周5到月底的天數select

(weekday(dateadd("m",2,dateserial(year(date()),month(date()),1)-1))+1) mod 7 as下月最後乙個周5到月底的天數;本月最後乙個周5的日期select

dateadd("m",1,dateserial(year(date()),month(date()),1))-1-(weekday(dateadd("m",1,dateserial(year(date()),month(date()),1)-1))+1) mod 7 as本月最後乙個周5的日期;下月最後乙個周5的日期select

dateadd("m",2,dateserial(year(date()),month(date()),1))-1-(weekday(dateadd("m",2,dateserial(year(date()),month(date()),1)-1))+1) mod 7 as下月最後乙個周5的日期;多思考,多創新,才是正道!

員工上班時間日常行為規範

一 規範內容 1 1 上班時間內,不得看雜誌或睡覺,不得在辦公室內大聲喧嘩,不得同他人吵鬧打鬥。2 工作時間禁止玩電腦遊戲 看 書籍或長時間瀏覽與工作無關的網頁,禁止使用耳機邊工作邊聽 3 節約用電,如離開公司需關閉電源,長時間離開工作崗位需關閉電腦顯示屏等。4 工作時間內不准在辦公室內玩牌 不得辦...

Access歸納總結

1 資料管理技術是對資料進行分類 組織 編碼 輸入 儲存 檢索 維護和輸出的技術。2 資料管理技術的發展大致經過了以下三個階段 1 人工管理階段 2 檔案系統階段 3 資料庫系統階段。3 資料模型是現實世界在資料庫中的抽象,也是資料庫系統的核心和基礎。4 資料模型通常包括3個要素 1 資料結構。2 ...

Access實驗指導

王英編宿州學院資訊工程學院 2012年8月 課程簡介 access2003 程式設計 課程主要講授資料庫的基本概念,access 2003開發環境 建立資料庫 資料表的使用與編輯 查詢方法的設計 窗體的應用 報表的使用和資料訪問頁 vba程式設計 ole在access中的應用以及access與其它資...