実際には文書化されていない C++ API のラッパーを使用しています。公開されたメソッドの中には、uint 型のフィールド (from および to) を必要とするものがあります。フィールドは実際には datefrom と dateto ですが、型はそうではありません。datetime を DOS unsigned int 表現に変換するなど、さまざまなアプローチを試しました
public ushort ToDosDateTime( DateTime dateTime)
{
uint day = (uint)dateTime.Day; // Between 1 and 31
uint month = (uint)dateTime.Month; // Between 1 and 12
uint years = (uint)(dateTime.Year - 1980); // From 1980
if (years > 127)
throw new ArgumentOutOfRangeException("Cannot represent the year.");
uint dosDateTime = 0;
dosDateTime |= day << (16 - 16);
dosDateTime |= month << (21 - 16);
dosDateTime |= years << (25 - 16);
return unchecked((ushort)dosDateTime);
}
、それでもAPI関数呼び出しはエラーでなければ何も返しませんでした。、私は : 20160101 のような単純な表現も試しましたが、これは理にかなっていますが成功しませんでした。日付と時刻を符号なし整数として表す既知の方法はありますか?