相关疑难解决方法(0)

使用DateTime.ParseExact只获取时间(没有一天)

当我使用DateTime.ParseExact时,我得到意想不到的结果.这是我的测试代码:

Dim MinVal As DateTime = #12:00:01 AM#
Dim MaxVal As DateTime = #11:59:59 PM#
Dim TooBig1, Equal1 As Boolean
Dim TooBig2, Equal2 As Boolean

Dim dt1 As DateTime = #12:00:01 AM#
Dim dt2 As DateTime = DateTime.ParseExact("12:00:01 AM", "hh:mm:ss tt", Globalization.DateTimeFormatInfo.InvariantInfo)

TooBig1 = (dt1.CompareTo(MaxVal) > 0)
Equal1 = (dt1.CompareTo(MinVal) = 0)

TooBig2 = (dt2.CompareTo(MaxVal) > 0)
Equal2 = (dt2.CompareTo(MinVal) = 0)
Run Code Online (Sandbox Code Playgroud)

对于dt1,结果很好:

  • 它在调试器中显示为#12:00:01 AM#(没有一天)
  • TooBig1是假的
  • Equal1是True

但结果是(错误?)dt2出乎意料:

  • 它在调试器中显示为#9/30/2011 12:00:01 AM#
  • TooBig2是真的
  • Equal2是假的

它看起来像是因为ParseExact系统地添加了这一天,即使我只在格式中指定时间.

我的问题是:我怎样才能用DateTime.ParseExact读取时间?

.net vb.net

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net ×1

vb.net ×1