XMLドキュメントからタイムスタンプを取得しています。今、タイムスタンプを日付形式に変換したいと思います(13-May-13)
XmlNodeList cNodes = xncomment.SelectNodes("comment");
foreach (XmlNode node in cNodes)
{
//I'm getting this "1372061224000" in comment-date
string comment_date = node["creation-timestamp"].InnerText;
}
何か案は?前もって感謝します。
これがJavaタイムスタンプのように見える場合、以下を使用してください:
var dt = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(1372061224000 / 1000d)).ToLocalTime();
Console.WriteLine(dt); // Prints: 6/24/2013 10:07:04 AM
最後に、私はtime stampをDateに変換する方法を見つけました&&Dateをtime stampに変換しました。プロジェクトの人々のいくつかの場所で、日付をタイムスタンプとして保持しているため、すぐに違いがわかります。したがって、この場合、テーブルの列をIntまたはタイムスタンプとして保持するために使用します。問題は、アプリケーションでデータを表示しているときに、データを日付変数に変換する必要があることです。そのため、次のコードを使用してtime stampをDateに変換できます。
int ts = 1451174400;
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(ts).ToLocalTime();
string formattedDate = dt.ToString("dd-MM-yyyy");
これで、この変数から任意の日付形式を取得できます。
2番目のケースでDateをtime stampに変換する場合は、次のコードを確認してください。
int ts = (dt.Ticks - 621356166000000000) / 10000000;
ここで、dtは日付時刻変数であり、日付値を保持しています。
多分これを交換してください:
foreach (XmlNode node in cNodes)
{
//I'm getting this "1372061224000" in comment-date
string comment_date = node["creation-timestamp"].InnerText;
}
沿って :
foreach (XmlNode node in cNodes)
{
Datetime comment_date = new DateTime(Convert.ToInt32(node["creation-timestamp"]);
}
ありがとうございます。
最後に私は出力を得ました
foreach (XmlNode node in cNodes)
{
comment_timestamp = node["creation-timestamp"].InnerText;
DateTime comment_date1 = new DateTime(Convert.ToInt64(comment_timestamp));
comment_date = Convert.ToDateTime(comment_date1).ToString("dd-MMM-yy");
}
出力:
01-MAY-13