C# タイムスタンプと時刻の間の変換

タイムスタンプは実際には、現在時刻から 1970 年 1 月 1 日の 0:00:00:00 から計算したい時刻までの秒数またはミリ秒数です (北京時間に換算すると 1970 年 1 月 1 日の 8:00:00:00)。

一般的に言えば、使用するタイムスタンプは秒単位で 10 桁、ミリ秒単位で 13 桁です。

1. 時刻と第 2 タイムスタンプ間の変換

1. 時刻を 2 番目のタイムスタンプに変換します。

  DateTime time = DateTime.Now;
  System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));//当地时区
  TimeSpan ts = time - startTime; 
  var timestamp = Convert.ToInt64(ts.TotalSeconds);
  Console.WriteLine(timestamp);

2. 2 番目のタイムスタンプを時刻に変換します

  long timestamp=1629160713;
  System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));//当地时区
  var time = startTime.AddSeconds(timestamp);

2. 時刻とミリ秒のタイムスタンプ間の変換

1.時刻をミリ秒のタイムスタンプに変換します。

  TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
  var timestamp= Convert.ToInt64(ts2.TotalMilliseconds);
  Console.WriteLine(timestamp);

2. ミリ秒のタイムスタンプを時間に変換します

  System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));//当地时区  
  var time = startTime.AddMilliseconds(cc);

注:
UtcNow 標準タイムゾーンを取得する方法とTimeZone.CurrentTimeZone.ToLocalTimeローカルタイムゾーンを取得する方法があるため、時差を取得する方法は 2 つあります。

  //当地时区
  System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
  TimeSpan ts = DateTime.Now - startTime; 
  //标准时区
  TimeSpan ts2 = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);

おすすめ

転載: blog.csdn.net/m0_51660523/article/details/127740896