VB中怎么获得系统日期与时间

VB中怎么获得系统日期与时间,第1张

日期:DateTimeNowToShortDateString

时间:DateTimeNowToFileTime

可以这样用:

ResponseWrite(DateTimeNowToShortDateString() + "<br/>");

ResponseWrite(DateTimeNowToShortTimeString() + "<br/>");

输出:

2007-1-29

8:49

ResponseWrite(DateTimeNowToLongDateString() + "<br/>");

ResponseWrite(DateTimeNowToLongTimeString() + "<br/>");

输出:

2007年1月29日

8:49:15

不知合不合你要求

我是要VS2005下使用,很好用。可查看MSDN以下简单例出:

NET Framework 类库

DateTime 成员

请参见 构造函数 字段 方法 属性 显式接口实现

全部折叠 全部展开 成员选项:全部显示 成员选项:已筛选

包括继承的成员

包括受保护的成员

仅 NET Compact Framework 成员

表示时间上的一刻,通常以日期和当天的时间表示。

下表列出了由 DateTime 类型公开的成员。

公共构造函数

名称 说明

DateTime 已重载。初始化 DateTime 结构的新实例

页首

公共字段

名称 说明

MaxValue 表示 DateTime 的最大可能值。此字段为只读。

MinValue 表示 DateTime 的最小可能值。此字段为只读。

页首

公共属性

名称 说明

Date 获取此实例的日期部分。

Day 获取此实例所表示的日期为该月中的第几天。

DayOfWeek 获取此实例所表示的日期是星期几。

DayOfYear 获取此实例所表示的日期是该年中的第几天。

Hour 获取此实例所表示日期的小时部分。

Kind 获取一个值,该值指示由此实例表示的时间是基于本地时间、协调通用时间 (UTC),还是两者皆否。

Millisecond 获取此实例所表示日期的毫秒部分。

Minute 获取此实例所表示日期的分钟部分。

Month 获取此实例所表示日期的月份部分。

Now 获取一个 DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为本地时间。

Second 获取此实例所表示日期的秒部分。

Ticks 获取表示此实例的日期和时间的刻度数。

TimeOfDay 获取此实例的当天的时间。

Today 获取当前日期。

UtcNow 获取一个 DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为协调通用时间 (UTC)。

Year 获取此实例所表示日期的年份部分。

页首

公共方法

名称 说明

Add 将指定的 TimeSpan 的值加到此实例的值上。

AddDays 将指定的天数加到此实例的值上。

AddHours 将指定的小时数加到此实例的值上。

AddMilliseconds 将指定的毫秒数加到此实例的值上。

AddMinutes 将指定的分钟数加到此实例的值上。

AddMonths 将指定的月份数加到此实例的值上。

AddSeconds 将指定的秒数加到此实例的值上。

AddTicks 将指定的刻度数加到此实例的值上。

AddYears 将指定的年份数加到此实例的值上。

Compare 比较 DateTime 的两个实例,并返回它们相对值的指示。

CompareTo 已重载。 将此实例与指定的对象或值类型进行比较,并返回二者相对值的指示。

DaysInMonth 返回指定年和月中的天数。

Equals 已重载。 返回一个值,该值指示两个 DateTime 对象,或者一个 DateTime 实例和另一个对象或 DateTime 是否相等。

FromBinary 反序列化一个 64 位二进制值,并重新创建序列化的 DateTime 初始对象。

FromFileTime 将指定的 Windows 文件时间转换为等效的本地时间。

FromFileTimeUtc 将指定的 Windows 文件时间转换为等效的 UTC 时间。

FromOADate 返回与指定的 OLE 自动化日期等效的 DateTime。

GetDateTimeFormats 已重载。 将此实例的值转换为标准 DateTime 格式说明符支持的所有字符串表示形式。

GetHashCode 已重写。 返回此实例的哈希代码。

GetType 获取当前实例的 Type。 (从 Object 继承。)

GetTypeCode 返回值类型 DateTime 的 TypeCode。

IsDaylightSavingTime 指示此 DateTime 实例是否在当前时区的夏时制范围内。

IsLeapYear 返回指定的年份是否为闰年的指示。

op_Addition 将指定的时间间隔加到指定的日期和时间以生成新的日期和时间。

op_Equality 确定 DateTime 的两个指定的实例是否相等。

op_GreaterThan 确定指定的 DateTime 是否大于另一个指定的 DateTime。

op_GreaterThanOrEqual 确定指定的 DateTime 是否大于或等于另一个指定的 DateTime。

op_Inequality 确定 DateTime 的两个指定的实例是否不等。

op_LessThan 确定指定的 DateTime 是否小于另一个指定的 DateTime。

op_LessThanOrEqual 确定指定的 DateTime 是否小于或等于另一个指定的 DateTime。

op_Subtraction 已重载。 从指定的 DateTime 减去指定的 DateTime 或 TimeSpan。

Parse 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。

ParseExact 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。该字符串表示形式的格式必须与指定的格式完全匹配。

ReferenceEquals 确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)

SpecifyKind 创建新的 DateTime 对象,该对象表示与指定的 DateTime 相同的时间,但是根据指定的 DateTimeKind 值的指示,指定为本地时间或协调通用时间 (UTC),或者两者皆否。

Subtract 已重载。 从此实例中减去指定的时间或持续时间。

ToBinary 将当前 DateTime 对象序列化为一个 64 位二进制值,该值随后可用于重新创建 DateTime 对象。

ToFileTime 将当前 DateTime 对象的值转换为 Windows 文件时间。

ToFileTimeUtc 将当前 DateTime 对象的值转换为 Windows 文件时间。

ToLocalTime 将当前 DateTime 对象的值转换为本地时间。

ToLongDateString 将此实例的值转换为其等效的长日期字符串表示形式。

ToLongTimeString 将此实例的值转换为其等效的长时间字符串表示形式。

ToOADate 将此实例的值转换为等效的 OLE 自动化日期。

ToShortDateString 将此实例的值转换为其等效的短日期字符串表示形式。

ToShortTimeString 将此实例的值转换为其等效的短时间字符串表示形式。

ToString 已重载。 已重写。 将此实例的值转换为其等效的字符串表示。

ToUniversalTime 将当前 DateTime 对象的值转换为协调通用时间 (UTC)。

TryParse 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。

TryParseExact 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。该字符串表示形式的格式必须与指定的格式完全匹配。

页首

显式接口实现

名称 说明

SystemIConvertibleToBoolean 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToByte 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToChar 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToDateTime 返回当前 DateTime 对象。

SystemIConvertibleToDecimal 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToDouble 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToInt16 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToInt32 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToInt64 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToSByte 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToSingle 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToType 将当前的 DateTime 对象转换为指定类型的对象。

SystemIConvertibleToUInt16 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToUInt32 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemIConvertibleToUInt64 不支持此转换。尝试这样做会引发 InvalidCastException。

SystemRuntimeSerializationISerializableGetObjectData 使用序列化当前 DateTime 对象所需要的数据来填充 SerializationInfo 对象。

页首

请参见

参考

DateTime 结构

输入如下代码试试就知道了

Sub test()

MsgBox VBANow()

MsgBox VBATime

MsgBox VBADate

MsgBox Format(Now(), "aaaa")

MsgBox Format(Date, "aaaa")

End Sub

周数=INT((now-dateserial(year(now),1,1))/7)

大致写成这样吧

有不懂的再问我

还有,增加一个判断int(now)-dateserial(year(now),1,1)) mod 7,如果不能整除,要再加1

在窗体中加入Timer控件命名Timer1,Interval属性设为1000(1秒),TextBox控件命名T

加入如下代码

方案一:

Private Sub Timer1_Timer()

TText = Format(Now, "yyyy年mm月dd日 ddd hh:mm:ss")

End Sub

显示格式为:2007年06月27日 Wed 03:47:23

方案二:

Private Sub Timer1_Timer()

TText = Format(Now, "yyyy年mm月dd日 ") & WeekdayName(Weekday(Now)) & Format(Now, " hh:mm:ss")

End Sub

显示格式为:2007年06月27日 星期三 03:47:15

这会在程序启动1秒后显示时间

如果要启动后立刻显示,需要在加入代码

Private Sub Form_Load()

Timer1_Timer

End Sub

这里的“某一周”是有歧义的:

一种可能是某日期所在的周

第二种是某年的第几周。这还有歧义。因为某年的第一周,可能开始于上一年,同时这一周也是上一年的最后一周,会重复计算。我们这里假设“不管是否重复计算”

第三种是每周从星期几开始。我们这里假设“从星期一开始”。

下面分别是输出“某日期所在的周始终日期”、“某年某周始终日期”、“某年各周始终日期”的代码!

如果每周从星期日开始,将vbMonday替换为vbSunday即可。

'某日期所在的周始终日期

Private Sub Command3_Click()

Dim dt As Date

Dim wd As Integer

dt = InputBox("请输入一个日期(Date格式):", "输入日期", Date)

wd = Weekday(dt, vbMonday) '某日是星期几,周一为第一天

firstDay = DateAdd("d", -wd + 1, dt) '本周的开始日期

endDay = DateAdd("d", 7 - wd, dt) '本周的开始日期

Text1Text = "当前日期所在的周起止日期:"

Text1Text = Text1Text & vbNewLine

Text1Text = Text1Text & vbNewLine & "每周从星期一开始"

Text1Text = Text1Text & vbNewLine & firstDay & vbTab & endDay

wd = Weekday(dt, vbSunday) '某日是星期几,周日为第一天

firstDay = DateAdd("d", -wd + 1, dt) '本周的开始日期

endDay = DateAdd("d", 7 - wd, dt) '本周的开始日期

Text1Text = Text1Text & vbNewLine

Text1Text = Text1Text & vbNewLine & "每周从星期日开始"

Text1Text = Text1Text & vbNewLine & firstDay & vbTab & endDay

End Sub

'某年某周始终日期

Private Sub Command4_Click()

Dim y As Integer

Dim w As Integer

Dim dt As Date

Dim wd As Integer

y = InputBox("请输入年份:", "输入年份", Year(Date))

dt = DateSerial(y, 1, 1)

w = InputBox("请输入周数:", "第几周", "")

dt = DateAdd("ww", (w - 1), dt)

wd = Weekday(dt, vbMonday) '某日是星期几,周一为第一天

firstDay = DateAdd("d", -wd + 1, dt) '本周的开始日期

endDay = DateAdd("d", 7 - wd, dt) '本周的开始日期

Text1Text = "当前日期所在的周起止日期:"

Text1Text = Text1Text & vbNewLine

Text1Text = Text1Text & vbNewLine & "每周从星期一开始"

Text1Text = Text1Text & vbNewLine & firstDay & vbTab & endDay

End Sub

'某年各周始终日期

Private Sub Command2_Click()

Dim y As Integer

Dim w As Integer

Dim dt As Date

Dim dte As Date

Dim wd As Integer

y = InputBox("请输入年份:", "输入年份", Year(Date))

dt = DateSerial(y, 1, 1)

dte = DateAdd("yyyy", 1, dt) - 1 '某年最后一天

wd = Weekday(dt, vbMonday) '某日是星期几,周一为第一天

firstDay = DateAdd("d", -wd + 1, dt) '本周的开始日期

endDay = firstDay + 6 '本周的开始日期

Text1Text = "当前日期所在的周起止日期:"

Text1Text = Text1Text & vbNewLine & "(每周从星期一开始)"

Text1Text = Text1Text & vbNewLine

Text1Text = Text1Text & vbNewLine & firstDay & vbTab & endDay

Do While endDay < dte

w = w + 1

firstDay = firstDay + 7

endDay = firstDay + 6

Text1Text = Text1Text & vbNewLine & firstDay & vbTab & endDay

Loop

End Sub

以上就是关于VB中怎么获得系统日期与时间全部的内容,包括:VB中怎么获得系统日期与时间、在excel的VBA里如何获取日期和星期几、Excel 如何用VBA获取当前日期所在的周数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9742876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存