-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 の両方が長い値です。String 以外を理解DateTime.DateParseし、DateTime に変換します。何が(DateTime.Date(unix_time*1000))/1000返され、Java でこれに相当するものは何ですか? 要件は、GMT 真夜中からの秒数を取得することであり、私はそれを Java で正常に実装しました。ただし、VB.net で記述されたこの特定のコード行を理解したいと思います。

編集: このメソッドはBasic4Androidで記述されており、おそらくvb.netよりも多くのライブラリを構成しています。しかし、私はそれぞれの詳細を調べましたが、理解できませんでした。詳しく教えていただければ幸いです。リンク先をご覧ください。

4

1 に答える 1

1

これを取る:

DateTime.Date(unix_time*1000)

ドキュメントには次のように記載されています。

Date (Ticks As Long) As String

日付の文字列表現を返します (ティックとして格納されます)。日付形式は、DateFormat キーワードで設定できます。

したがって、その部分は日付を表す文字列を返します。

次に、次DateTime.DateParseのように文書化されている を使用します。

DateParse (Date As String) As Long

指定された日付文字列を解析し、そのティック表現を返します。


まとめると、これはティックを 1000 倍して、1000 で割ったティックに解析される時間情報を含まない文字列に変換したように見えます。

注意すべき重要なことは、DateFormat前の行のセットには日付の書式設定のみが含まれており、時間/分/秒やそれより小さい時間単位が含まれていないことです。これは、返される文字列が基本的にその日付の午前 0 時を表すことを意味します。

于 2013-01-20T09:59:54.940 に答える