-1

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

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.DateParseString 除外并将其转换为 DateTime。返回什么(DateTime.Date(unix_time*1000))/1000以及它在 Java 中的等价物是什么?要求是获取自格林威治标准时间午夜以来的秒数,我已经在 J​​ava 中成功实现了它。但是,我想了解这行用 VB.net 编写的特定代码

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

4

1 回答 1

1

拿着这个:

DateTime.Date(unix_time*1000)

文档说:

日期(滴答声)作为字符串

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

所以该部分返回一个表示日期的字符串。

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

DateParse(日期作为字符串)只要

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


总而言之,这似乎将滴答声乘以 1000,转换为不包含小时信息的字符串,该字符串被解析回除以 1000 的滴答声。

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

于 2013-01-20T09:59:54.940 回答