热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Access日期与时间函数汇总

Access日期与时间函数汇总,需要的朋友可以参考一下

Access日期与时间函数汇总,需要的朋友可以参考一下

今天在开发系统的时候,需要实现这样一个功能

根据选中的日期,查询相关的内容,但不是按照整个日期去过滤,而是根据,年,月,日拆分的形式去过滤,比如2013年的,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-04
cdate(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 A.M. 或 P.M.之前,那么将显示有前导零的时间。缺省的时间格式为 h:mm:ss。

AM/PM

在中午前以 12 小时配合大写 AM 符号来使用;在中午和 11:59 P.M.间以 12 小时配合大写 PM 来使用。

Am/pm

在中午前以 12 小时配合小写 am 符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写 pm 来使用。

A/P

在中午前以 12 小时配合大写A符号来使用;在中午和 11:59 P.M.间以12 小时配合大写P来使用。

a/p

在中午前以 12 小时配合小写a符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写p来使用。

AMPM

在中午前以 12 小时配合系统设置的 AM字符串文字来使用;在中午和 11:59 P.M. 间以 12 小时配合系统设置的 PM 字符串文字来使用。AMPM 可以是大写或小写,但必须和您的系统设置相配。其缺省格式为 AM/PM。

日期函数示例
当天日期:=Date()

当日:=Day(date)

当月:=Month(date())

当年:=Year(date())

当季:=DatePart("q",Date())

把日期大写
Function Date2Chinese(iDate)

Dim num(10)

Dim iYear

Dim iMonth

Dim iDay

num(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 Then

If iMOnth= 10 Then

Date2Chinese = Date2Chinese +"十" + "月"

Else

Date2Chinese = Date2Chinese +"十" + num(iMonth Mod 10) + "月"

End If

Else

Date2Chinese = Date2Chinese +num(iMonth Mod 10) + "月"

End If

If iDay >= 10 Then

If 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 If

Else

Date2Chinese = Date2Chinese + num(iDay Mod 10) + "日"

End If

End Function

算出每个月的天数
一法:

Dim a, b, c

a = Year(Now())

b = Month(Now())

c = Format((a & "/" & b + 1 & "/1"), "######") - Format((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 String

A = InputBox("请输入年份", "某年每个月的第一天是星期几")

Form1.Cls

For i = 1 To 12

C = A & "-" & i & "-1"

B = Weekday(C)

Select Case B

Case 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 Select

Next i

End Sub

计算天数及月初月末日期
Function 本月天数(日期 As Date) As Byte

本月天数 = DateSerial(Year(日期), Month(日期) + 1, Day(日期)) - 日期

End Function

Function 月末(日期 As Date) As Date

月末 = DateSerial(Year(日期), Month(日期) + 1, 1) - 1

End Function

Function 月初(日期 As Date) As Date

月初 = 日期 - Day(日期) + 1

End 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的日期;

多思考,多创新,才是正道!

推荐阅读
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Win10 64位旗舰版的优势及特点详解
    本文详细介绍了Win10 64位旗舰版的优势及特点,包括更安全的源安装盘、永久激活方式、稳定性和硬件驱动的集成,以及人性化的维护工具和分区功能。通过阅读本文,您将了解到Win10 64位旗舰版相比其他版本的优势和特点。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • 本文详细介绍了如何创建和使用VUE uni-app开发环境,包括通过HBuilderX可视化界面和通过vue-cli命令执行的方法。文章内容简单清晰,易于学习与理解。通过学习本文,读者可以深入了解VUE uni-app开发环境,并通过实践验证掌握具体的使用情况。编程笔记将为读者推送更多相关知识点的文章,欢迎关注! ... [详细]
  • 本文介绍了一个从入门到高手的VB.NET源代码,通过学习这些源代码,可以在21天内成为VB.NET高手。文章提供了下载地址,并提醒读者加入作者的QQ群和收藏作者的博客。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • Linux环境变量$PATH的作用及使用方法
    本文介绍了Linux环境变量$PATH的作用及使用方法。$PATH是一个由多个目录组成的变量,用冒号分隔。当执行一个指令时,系统会按照$PATH定义的目录顺序搜索同名的可执行文件,如果有多个同名指令,则先找到的会被执行。通过设置$PATH变量,可以在任何地方执行指令,无需输入绝对路径。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • GTX1070Ti显卡怎么样?GTX1070Ti显卡首发图赏+参数解读与拆解图
    先来简单回顾一下今年的显卡市场,nvidia自从发布了帕斯卡架构新品之后,可以说是一直都主宰着高端游戏显卡市场,虽说amd也憋了一个hbm2的vega64出来,然而即使是最高贵的水 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 本文介绍了某点评网的搜索策略,包括名称和地址的匹配策略,模糊匹配的方法以及不同口音和拼音的近似发音。同时提供了一些例子来说明这些策略的应用。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
author-avatar
手机用户2702933093
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有