VB.NET中DateAndTime模块学习
一、DateAdd
返回指定时间间隔后的date值,既可以是增值,也可以是减值。比如:你想得到2011年3月31日的前一个月的时间值,应当是2011年2月28 日,你不必编代码,只需DateAdd(DateInterval.month,-1,#3/31/2011#)一句即可。你想得到45分钟后的时间,可 以这样:DateAdd(DateInterval.Minute, 45, #3/31/2011 11:15:01 PM#)。
日期时间的常量定义:#月/日/年 时:分:秒 AM(PM)# , 时:分:秒 AM(PM)可选。
该模块的定义:Public Overloads Function DateAdd( ByVal Interval As DateInterval, ByVal Number As Double, ByVal DateValue As DateTime ) As DateTime ,三个参数均必选。第一个参数指定时间间隔是年、季、月、周、日、小时、分或者秒等;第二个参数是间隔的数值;第三个参数是时间的基础值,模块结果 = 基础值 + 第一个参数 * 第二个参数
示例:
Sub Main()
Dim newdate As Date
newdate = DateAdd(DateInterval.Minute, 45, #1/1/2011 11:15:01 PM#)
System.Console.WriteLine("45分钟后是:{0}", newdate)
System.Console.ReadLine()
End Sub
运行结果:
二、DateDiff
返回一个两个日期long类型的差值。
Public Overloads Function DateDiff( _
ByVal Interval As [ DateInterval | String ], _
ByVal Date1 As DateTime, _
ByVal Date2 As DateTime, _
Optional ByVal DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday, _
Optional ByVal WeekOfYear As FirstWeekOfYear = FirstWeekOfYear.Jan1 _
) As Long
仔细观察其与DateAdd很像,其实就是把dateadd的结果变成datediff的第二个参数,datediff的结果是dateadd的第二个参数。
注意点:如果将 Interval 设置为 DateInterval.WeekOfYear ,则返回值表示包含 Date1 的周的第一天与包含 Date2 的周的第一天相隔的周数。
代码示例:
sub main()
dim date1,date2 as date, dateDifferent as integer
date1 = #4/23/2011# '星期六
date2 = #4/24/2011# '星期天,默认情况下一个周的第一天是从星期天开始的。
dateDifferent = datediff(dateinterval.weekofyear,date1,date2)
system.console.writeline("{0}与{1}相差的日历周是:{2}",date1,date2,datedifferent)
system.console.readline()使用RDLC报表定义文件和ReportViewer控件
end sub
运行结果:1,不是0,weekofyear是指某天所在的日历周(一年当中的第几个周),如果使用weekday结果就是0,weekday是指两个日期天数差除以7后四舍五入的结果。
三、DatePart
Public Overloads Function DatePart( _
ByVal Interval As DateInterval, _
ByVal DateValue As DateTime, _
Optional ByVal FirstDayOfWeekValue As FirstDayOfWeek = VbSunday, _
Optional ByVal FirstWeekOfYearValue As FirstWeekOfYear = VbFirstJan1 _
) As Integer
返回一个 Integer 值,其中包含给定 Date 值的指定组件。
实例:
Sub Main()
Dim WeekDay As Date = #1/1/2011#
Dim DateP As Integer
'定义list泛型 ,下面的目的只是为了演示定义泛型,可以使用WeekDayName函数求取某天是星期几。
'例如: WeekdayName(Today.DayOfWeek, , FirstDayOfWeek.Monday) ,
'FirstDayOfWeek.Monday是为了指定从星期一算作一个周的第一天
Dim weekdayofcn As New List(Of String)
weekdayofcn.Add("星期一")
weekdayofcn.Add("星期二")
weekdayofcn.Add("星期三")
weekdayofcn.Add("星期四")
weekdayofcn.Add("星期五")
weekdayofcn.Add("星期六")
weekdayofcn.Add("星期天")
DateP = DatePart(DateInterval.Weekday, WeekDay) 'datepart()函数的返回值是integer
'使用长日期格式显示日期
Dim FDate As String = FormatDateTime(WeekDay, DateFormat.LongDate)
System.Console.WriteLine("{0}是:{1}", FDate, weekdayofcn.Item(DateP - 1))
System.Console.ReadLine()
End Sub
运行结果:2011年1月1日是:星期天
四、DateSerial 函数
返回表示已指定年月日的 Date 值,其时间信息被设置为午夜 (00:00:00)。也就是你给它数,它告诉你时间。
Public Function DateSerial( _
ByVal [Year] As Integer, _
ByVal [Month] As Integer, _
ByVal [Day] As Integer _
) As DateTime
注意:year,month,day等数支持0,负数。year的0-99解释为1930年-2029年之间,-1解释为前一年;month的0表示为上一年的12月,1为1月,13为下一年的1月;day的0表示为上月的月末,1为本月的第一天。
示例:想知道本月月末吗?
Dim Date1 As Date
Date1 = DateAndTime.DateSerial(Now.Year, Now.Month + 1, 0)
System.Console.WriteLine("本月月末是:{0}", Date1)
System.Console.ReadLine()
目前年份 10 年前的 3 月 1 日的前一天:DateSerial(-10, 3, 0)
五、DateValue函数
返回一个date值,参数是用字符串表示的日期
Public Function DateValue(ByVal StringDate As String) As DateTime
同DateSerial()函数,只不过前者使用字符串作为参数,后者使用integer作为参数,似乎后者更灵活一些
示例:DateValue("04/26/2011") '2011年4月26日,“4/26/2011"等效”04/26/2011"
六、Today与Now、TimeOfDay
today返回的是系统对应的当前日期,没有时间值(时间值为0),timeofday返回的是系统当前的时间,没有日期值。now返回的是现在系统时间、日期。today可以设置系统时间,但需要权限,now不可以。timeofday可以设置时间值。
七、TimeSerial函数
Public Function TimeSerial( _
ByVal Hour As Integer, _
ByVal?Minute As Integer, _
ByVal Second As Integer _
) As DateTime
返回一个时间值,用法同DateSerial函数。
示例: System.Console.WriteLine("{0}", DateAndTime.TimeSerial(24 - 5, -10, 0).TimeOfDay)
System.Console.ReadLine()
运行结果:18:50:00
八、Timer
ReadOnly Public Property Timer() As Double
返回一个 Double 值,该值表示午夜之后的秒数。秒数为返回值的整数部分,毫秒数则为小数部分。
VB.NET中DateAndTime模块学习相关推荐
- python中configparser_python中confIgparser模块学习
python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...
- python中confIgparser模块学习
python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...
- python 中re模块学习随笔
re模块中常用的字符含义 (.) 表示任意一个字符 \转义字符 * 字符重复0--多次 + 字符重复1-多次 ? 字符重复0-1次 ^行首匹配 或者在一个字符集中表示取反 \$ 匹配字符串末尾 \ ...
- 【Python标准库】pillow中Image模块学习
我是一个甜甜的大橙子
- python中socket模块常用吗_python网络学习笔记——socket模块使用记录
此文章记录了笔者学习python网络中socket模块的笔记. 建议初次学习socket的读者先读一遍socket模块主要函数的介绍. socket模块的介绍可以参考笔者的前一篇关于socket官方文 ...
- python中的glob 模块学习文件路径查找
glob glob.glob(pathname), 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径. import glob ...
- VB中窗体模块、标准模块、类模块的区别
VB的代码存储在模块中.在VB中提供了三种类型的模块:窗体模块.标准模块和类模块. 简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体.最终可能有几 ...
- 【Python2】使用python中的turtle模块学习海龟绘图(有趣的python初体验)(最全最详细的turtle介绍使用)
目录 海龟绘图 Python中tkinter的mainloop函数实质 turtle模块里的方法 Python绘图Turtle库详解 turtle绘图的基础知识: 海龟绘图 海龟绘图是Python中非 ...
- Slicer学习笔记(三十九)slicer中Markups模块
Slicer学习笔记(三十九)slicer中Markups模块 1.概念 1.1.Markups模块简介 1.2.应用方向 1.3.界面面板 1.Markups List 2.Buttons And ...
最新文章
- [Err] 1449 - The user specified as a definer ('admin_isbox'@'localhost') does not exist
- AI啊,我这里有些羞羞的东西,你要不要看一眼?
- Myeclipse中js文件中的乱码处理
- matlab simulink 四分之一1/4车辆垂向振动模型 轮毂电机
- LinuxC-运算符
- [转]字符串匹配那些事
- 工作的习惯,看到好收藏下
- 如何安装mysql5.7.2_CentOS 7.2 安装MySQL 5.7
- 【终于等到你】微信转发语音的方法 - 语音信息转发
- mesh和wifi中继的区别_科普:路由器的无线中继和Mesh的区别是什么?
- Tools - Blender快捷键大全
- (三)office2016-excel制作打钩按钮
- 使用google doc制作在线问卷调查表
- python绘制国际象棋规则口诀_国际象棋摆棋口诀
- php格林威治时间,PHP默认时间是格林威治时间。
- 强烈推荐一个有趣的数据分析神器~
- 跟小静读CLR via C#(18)——Enum
- snmp v3 参数_snmp v3配置使用
- android手机主流机型
- 解决unix:///var/run/supervisor/supervisor.sock no such file问题