8

日付時刻をUNIXタイムスタンプに変換するvbドットネットに関数はありますか?グーグルの場合、その逆のみが取得され、vb.netからUNIXタイムスタンプは取得されません

どんな助けでも大歓迎です

4

4 に答える 4

25

{編集} 古い参照リンクを削除

1970 年 1 月 1 日からの秒数 = UNIX 時間

VB.NET でこれを取得するには、以下の例を参照してください (例では DateTime.UtcNow を使用していますが、そこに必要な任意の DateTime をプラグインできます)。

Dim uTime As Double
uTime = (DateTime.UtcNow - New DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds
于 2009-12-21T20:48:48.007 に答える
7

私はある時点でこれらを書きました - すべて上記に似ていますが、ここ英国での私にとっての昔のサマータイムの調整についてもう少し詳しく説明しています.

Public Function UnixToTime(ByVal strUnixTime As String) As Date
    UnixToTime = DateAdd(DateInterval.Second, Val(strUnixTime), #1/1/1970#)
    If UnixToTime.IsDaylightSavingTime = True Then
        UnixToTime = DateAdd(DateInterval.Hour, 1, UnixToTime)
    End If
End Function

Public Function TimeToUnix(ByVal dteDate As Date) As String
    If dteDate.IsDaylightSavingTime = True Then
        dteDate = DateAdd(DateInterval.Hour, -1, dteDate)
    End If
    TimeToUnix = DateDiff(DateInterval.Second, #1/1/1970#, dteDate)
End Function
于 2012-05-10T12:55:45.240 に答える
1

http://www.codeproject.com/KB/cs/timestamp.aspxを見ると、unix->.net と表示されるため、ほとんどの場合、逆に戻ることができます。

DateTime dt = "the date";
DateTime start= new System.DateTime(1970, 1, 1, 0, 0, 0, 0);

TimeSpan ts = (dt - start);

ts.TotalSeconds //unix timestamp

または同様の何かがそれを行います。

注、これは私によってテストされていないため、おそらく機能しません:)

于 2009-12-21T20:50:26.227 に答える