📜  VB.Net-日期和时间(1)

📅  最后修改于: 2023-12-03 15:05:48.023000             🧑  作者: Mango

VB.Net-日期和时间

在 VB.Net 中,日期和时间处理都可以通过 DateTime 结构实现。DateTime 结构可以表示从公元 1 年 1 月 1 日至约 9999 年 12 月 31 日之间的任意日期和时间。

获取当前日期和时间

要获取当前日期和时间,可以使用 DateTime.Now 属性,其返回一个包含当前日期和时间的 DateTime 对象。

Dim dt As DateTime = DateTime.Now
Console.WriteLine(dt.ToString())

输出:

2/16/2022 5:46:30 PM
获取当前日期

要获取当前日期(年、月和日),可以使用 DateTime.Today 属性,其返回一个包含当前日期的 DateTime 对象。

Dim dt As DateTime = DateTime.Today
Console.WriteLine(dt.ToString("d"))

输出:

2/16/2022
格式化日期和时间

可以使用 ToString 方法将日期和时间格式化为指定的字符串格式。以下是一些常见的格式化字符串:

  • yyyy:4 位数的年份
  • MM:2 位数的月份(不足两位时前面补 0)
  • dd:2 位数的日(不足两位时前面补 0)
  • HH:24 小时制的小时(不足两位时前面补 0)
  • hh:12 小时制的小时(不足两位时前面补 0)
  • mm:分钟(不足两位时前面补 0)
  • ss:秒(不足两位时前面补 0)
  • tt:上午还是下午(AM/PM)
Dim dt As DateTime = DateTime.Now
Console.WriteLine(dt.ToString("yyyy/MM/dd HH:mm:ss tt"))

输出:

2022/02/16 17:46:30 PM
解析字符串为日期和时间

可以使用 DateTime.ParseDateTime.TryParse 方法将字符串转换为 DateTime 对象。

Dim dateStr As String = "2022/02/16 17:46:30"
Dim dt As DateTime = DateTime.Parse(dateStr)
Console.WriteLine(dt.ToString())

输出:

2/16/2022 5:46:30 PM

如果字符串格式不正确,就会抛出格式异常。为了避免异常,可以使用 DateTime.TryParse 方法。

Dim dateStr As String = "2022-02-16 17:46:30"
Dim dt As DateTime

If DateTime.TryParse(dateStr, dt) Then
    Console.WriteLine(dt.ToString())
Else
    Console.WriteLine("Invalid date string.")
End If

输出:

Invalid date string.
计算日期和时间

可以使用 DateTime 结构提供的方法和属性计算日期和时间,例如:

  • AddYears:在当前日期上增加指定数量的年份
  • AddMonths:在当前日期上增加指定数量的月份
  • AddDays:在当前日期上增加指定数量的天数
  • AddHours:在当前日期上增加指定数量的小时数
  • AddMinutes:在当前日期上增加指定数量的分钟数
  • AddSeconds:在当前日期上增加指定数量的秒数
  • AddMilliseconds:在当前日期上增加指定数量的毫秒数
  • Subtract:计算两个日期之间的时间间隔
Dim dt As DateTime = DateTime.Now
Dim dt2 As DateTime = dt.AddYears(1).AddMonths(2).AddDays(3)
Dim diff As TimeSpan = dt2.Subtract(dt)

Console.WriteLine("dt: " & dt.ToString())
Console.WriteLine("dt2: " & dt2.ToString())
Console.WriteLine("diff: " & diff.ToString())

输出:

dt: 2/16/2022 5:46:30 PM
dt2: 4/19/2023 5:46:30 PM
diff: 427.00:00:00

以上就是 VB.Net 中日期和时间的基础介绍,希望对你有所帮助。