相关疑难解决方法(0)

.Net DateTime到DOS日期32位转换

我需要从32位Dos日期转换为.NET System.DateTime并再次返回.我正在使用下面的两个例程,但是当我来回转换它们时,它们会在几秒钟内完成.谁能明白为什么?

public static DateTime ToDateTime(this int dosDateTime)
{
    var date = (dosDateTime & 0xFFFF0000) >> 16;
    var time = (dosDateTime & 0x0000FFFF);

    var year = (date >> 9) + 1980;
    var month = (date & 0x01e0) >> 5;
    var day =  date & 0x1F;
    var hour = time >> 11;
    var minute = (time & 0x07e0) >> 5;
    var second = (time & 0x1F) * 2;

    return new DateTime((int)year, (int)month, (int)day, (int)hour, (int)minute, (int)second);
}

public static int ToDOSDate(this …
Run Code Online (Sandbox Code Playgroud)

.net datetime bit-manipulation dos type-conversion

4
推荐指数
1
解决办法
1279
查看次数

标签 统计

.net ×1

bit-manipulation ×1

datetime ×1

dos ×1

type-conversion ×1