如何获得没有日期分量的UTC time
?如何获取没有日期分量的UTC时间?
当我尝试分配Date.UtcNow
到Date
变量,我得到以下异常:
时间值包含不允许
我分配Date.UtcNow
到Date
财产的日期组件在第三方DLL中。我不知道这是不是.NET版本的问题,或者它是否是用C#编写的,我在VB.NET中使用它。我可以绕过它的唯一方法是使用Date.UtcNow.ToString
。
如何获得没有日期分量的UTC time
?如何获取没有日期分量的UTC时间?
当我尝试分配Date.UtcNow
到Date
变量,我得到以下异常:
时间值包含不允许
我分配Date.UtcNow
到Date
财产的日期组件在第三方DLL中。我不知道这是不是.NET版本的问题,或者它是否是用C#编写的,我在VB.NET中使用它。我可以绕过它的唯一方法是使用Date.UtcNow.ToString
。
如果您只是想要时间部分,您需要获得TimeOfDay
属性。这是一个TimeStamp
:你提供
Dim currentTime As TimeSpan = DateTime.UtcNow.TimeOfDay
错误消息:
时间值包含不允许
日期组件不是从任何异常的标准信息。网络框架。你说(在评论中)你使用的是第三方DLL。该例外可能在该DLL中引发。
不知道更多关于这个DLL的细节,我没有提供很多的建议。我可以做一些假设。你说你正在做的事情是这样的:
thirdPartyObject.Date = DateTime.UtcNow.ToString
如果这是连编译那么Date
财产的对象是DateTime
类型的不行。它可以是string
或object
。
你也说你试过:
thirdPartyObject.Date = DateTime.UtcNow
如果编译并抛出你提到的例外,那么它不可能是一个string
。所以我得出结论,它必须是object
。
这很奇怪。第三方对象有一个object
的属性,称为Date
,只需要一段时间?无论谁设计这个API,一定不会考虑可用性!
作为一个超级野生驴猜测,我会尝试这样的事:
thirdPartyObject.Date = DateTime.MinValue + DateTime.UtcNow.TimeOfDay
或者,也许这不想要一个字符串,然后尝试:
thirdPartyObject.Date = DateTime.UtcNow.ToString("HH:mm:ss")
如果您可以阐明你正在使用什么第三方对象,或者它的API是什么样的Date
财产,那么也许我可以改进我的答案。
我试过这个,Dim d As Date = Date.UtcNow,它工作。编辑您的帖子,以显示什么是不工作请。 – dbasnett
@dbasnett:我将'Date.UtcNow'分配给第三方DLL中的'Date'属性。我不知道这是不是.NET版本的问题,或者它是否是用C#编写的,但是我在VB.NET中使用它。唯一的办法就是使用'Date.UtcNow.ToString'。 – CJ7