我花了几个小时仍然无法理解这一点:
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。但是,我已经查看了每个细节,但无法理解。如果你能详细说明,我将不胜感激。请参阅链接。
答案 0 :(得分:1)
拿这个:
DateTime.Date(unix_time*1000)
文档说:
日期(刻度为长)字符串
返回日期的字符串表示形式(存储为刻度线)。 可以使用DateFormat关键字设置日期格式。
因此该部分返回表示日期的字符串。
然后使用DateTime.DateParse
,记录为:
DateParse(日期为字符串)为长
解析给定的日期字符串并返回其刻度表示。
总而言之,这似乎取了蜱,乘以1000,转换为不包含小时信息的字符串,该小时信息被解析为除以1000的刻度。
需要注意的重要一点是,之前在该行上设置的DateFormat
仅包含日期的格式,不包含小时/分钟/秒,并且其中存在较小的时间单位。这意味着返回的字符串基本上代表该日期的午夜。