0

私は 41512 のような MSDate を持っており、その日付から 2 年前を知りたいと思っています。現在、私は C# を使用しており、41512 の日付は文字列です。

4

2 に答える 2

0

「MSDate」は、特定のエポック (エポックはカレンダーのゼロ点) からの日数ですか? もしそうなら、あなたはこのようなことをすることができます:

public DateTime MsDateToDateTime( string msDate )
{
  int daysSinceEpoch ;
  bool parsed = int.TryParse( msDate , out daySinceEpoch ) ;
  if ( !parsed ) throw new ArgumentException("msDate") ;

  Datetime value = epoch.AddDays( daysSinceEpoch ) ;
  return value ;
}

// our epoch is 1 January 1900 00:00:00
private static readonly DateTime epoch = new DateTime(1900,1,1) ;

になったらDateTime、好きなように操作できます。あなたは方法を読むかもしれませんDateTime.AddYears()

逆に行く:

public string DateTimeToMsDate( DateTime dt )
{
   return ((int) (dt-epoch).TotalDays ).ToString() ;
}
于 2013-08-29T23:22:19.147 に答える