DateTime.Date(长值)

时间:2013-01-20 08:52:47

标签: vb.net date datetime basic4android

我花了几个小时仍然无法理解这一点:

Dim unix_time_at_midnight As Long
DateTime.DateFormat = "MM/dd/yyyy"   
unix_time_at_midnight = DateTime.DateParse(DateTime.Date(unix_time*1000))/1000

其中unix_time_at_midnight和unix_time都是长值。我理解DateTime.DateParse除了String并将其转换为DateTime。什么是(DateTime.Date(unix_time*1000))/1000返回以及它在Java中的等价物?要求是获取GMT午夜以来的秒数,并且我已经用Java成功实现了它。但是,我想了解用VB.net编写的这一特定代码行

编辑:这个方法是用Basic4Android编写的,可能构成了更多的库vb.net。但是,我已经查看了每个细节,但无法理解。如果你能详细说明,我将不胜感激。请参阅链接。

1 个答案:

答案 0 :(得分:1)

拿这个:

DateTime.Date(unix_time*1000)

文档说:

  

日期(刻度为长)字符串

     

返回日期的字符串表示形式(存储为刻度线)。   可以使用DateFormat关键字设置日期格式。

因此该部分返回表示日期的字符串

然后使用DateTime.DateParse,记录为:

  

DateParse(日期为字符串)为长

     

解析给定的日期字符串并返回其刻度表示。


总而言之,这似乎取了蜱,乘以1000,转换为不包含小时信息的字符串,该小时信息被解析为除以1000的刻度。

需要注意的重要一点是,之前在该行上设置的DateFormat仅包含日期的格式,不包含小时/分钟/秒,并且其中存在较小的时间单位。这意味着返回的字符串基本上代表该日期的午夜。