1

私はperforceから選択する必要がありますchangelists。問題は情報を抽出したときですが、問題は日付と時刻が重要ではないように見えるため、この文字列を重要な日付と時刻に変更するにはどうすればよいですか

結果の例 1361898522

コード:

P4Command cm1 = new P4Command(ps, "changes", true, String.Format("{0}", deppath1));
Options opchanges = new Options();
opchanges.Add(op1,op2);
P4CommandResult results1 = cm1.Run(opchanges);
TaggedObjectList listfiledown1 = new TaggedObjectList();
listfiledown1 = (results1.TaggedOutput);

foreach (TaggedObject obj in listfiledown1)
{      
     foreach (String s in obj.Keys)
     {
         String value = "n/a";
         obj.TryGetValue(s, out value);
         var changeList = value.Split ('@');       
     }
} 
4

2 に答える 2

2

値 1361898522 が Tue, 26 Feb 2013 17:08:42 UTC を意味する場合、これは Unix タイムスタンプ (Unix エポックからの秒数) のように見えますこれは C# で簡単に実行できます。

private static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0,
                                                          DateTimeKind.Utc);

...

public static DateTime FromUnixTimestamp(long seconds)
{
    return UnixEpoch + TimeSpan.FromSeconds(seconds);
}

DateTimeKindエポックがシステムのローカル タイム ゾーンではなく適切な UTC になるように、UTC に注意してください。

バージョン 1.1 の時点で、私のNoda Timeプロジェクトを使用すると、さらに簡単になります。

Instant timestamp = Instant.FromSecondsSinceUnixEpoch(seconds);
于 2013-03-29T14:10:08.773 に答える
1

日時の値は Unix 時間 (1970 年 1 月 1 日からの秒数) で表されていると思われます。

たとえば、次のように記述します。

        var epoc = new DateTime(1970, 01, 01);
        dt = epoc + TimeSpan.FromSeconds(1361898522);
        Console.WriteLine(dt);

結果は次のとおりです。

2013/02/26 17:08:42
于 2013-03-29T14:10:07.050 に答える