Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows上的FAT日期解析时间戳_C#_.net_Winapi_Resolution_Filetime - Fatal编程技术网

C# Windows上的FAT日期解析时间戳

C# Windows上的FAT日期解析时间戳,c#,.net,winapi,resolution,filetime,C#,.net,Winapi,Resolution,Filetime,,FAT32上次修改时间的日期分辨率为2秒。该文件时间可以在WinAPI中获得,也可以在C#中使用file.IO作为DateTime获得,这两者都与此有关 日期决议在实践中意味着什么?这是否意味着它只能在2秒钟的时间间隔内为上次修改的文件时间添加时间戳,还是意味着它添加时间戳的日期仅在2秒钟内准确 换句话说(以ayyyy-MM-dd HH:MM:ss:fffffff为例),它是否 将时间戳限制为2秒偶数时间间隔,例如:2015-07-16 14:28:36:0000000,2015-07-16

,FAT32上次修改时间的日期分辨率为2秒。该文件时间可以在WinAPI中获得,也可以在C#中使用
file.IO
作为
DateTime
获得,这两者都与此有关

日期决议在实践中意味着什么?这是否意味着它只能在2秒钟的时间间隔内为上次修改的文件时间添加时间戳,还是意味着它添加时间戳的日期仅在2秒钟内准确

换句话说(以a
yyyy-MM-dd HH:MM:ss:fffffff
为例),它是否

  • 将时间戳限制为2秒偶数时间间隔,例如:
    2015-07-16 14:28:36:0000000
    2015-07-16 14:28:38:0000000
    2015-07-16 14:28:40:0000000
  • ……或者

  • 任意设置时间戳,只是时间仅在一定的时间间隔内准确:
    2015-07-16 14:28:36:1234567
    -这意味着最后一次写入可能实际上发生在时间之前2秒的任何地方(
    2015-07-16 14:28:34:1234567
    ),一直到时间之后2秒(
    2015-07-1614:28:38:1234567

  • 还有别的吗


  • 这意味着时间中的秒数只能是偶数整数


    只有一个5位字段用于存储时间中的秒数。这将字段中存储的秒数限制在0-31的范围内,该范围乘以2即可获得秒数。(此字段中的值30和31无效。)

    这意味着时间中的秒数只能是偶数整数


    只有一个5位字段用于存储时间中的秒数。这将字段中存储的秒数限制在0-31的范围内,该范围乘以2即可获得秒数。(此字段中的值30和31无效。)

    这意味着时间中的秒数只能是偶数整数


    只有一个5位字段用于存储时间中的秒数。这将字段中存储的秒数限制在0-31的范围内,该范围乘以2即可获得秒数。(此字段中的值30和31无效。)

    这意味着时间中的秒数只能是偶数整数


    只有一个5位字段用于存储时间中的秒数。这将字段中存储的秒数限制在0-31的范围内,该范围乘以2即可获得秒数。(此字段中的值30和31无效。)

    请记住,FAT只记录本地时间。它不知道时区。如果您将FAT格式的USB驱动器从一个系统带到另一个系统,则无法保证时区匹配。此外,在夏时制倒计时转换期间,它无法消除时间之间的歧义(例如在美国重复01:00-01:59).NTFS记录UTC时间,因此不存在此问题。@MattJohnson很有趣,感谢您注意到这一点。请记住FAT只记录本地时间。它不知道时区。如果您将FAT格式的USB驱动器从一个系统带到另一个系统,则无法保证时区匹配。此外,它无法消除歧义回退夏令时转换期间的两次ate(例如在美国重复01:00-01:59).NTFS记录UTC时间,因此不存在此问题。@MattJohnson很有趣,感谢您注意到这一点。请记住FAT只记录本地时间。它不知道时区。如果您将FAT格式的USB驱动器从一个系统带到另一个系统,则无法保证时区匹配。此外,它无法消除歧义回退夏令时转换期间的两次ate(例如在美国重复01:00-01:59).NTFS记录UTC时间,因此不存在此问题。@MattJohnson很有趣,感谢您注意到这一点。请记住FAT只记录本地时间。它不知道时区。如果您将FAT格式的USB驱动器从一个系统带到另一个系统,则无法保证时区匹配。此外,它无法消除歧义在后退夏令时转换期间的两个时间之间执行ate(例如在美国重复执行01:00-01:59)。NTFS记录UTC时间,因此它没有此问题。@MattJohnson很有趣,感谢您注意到这一点。非常感谢。非常棒的参考。实际上,在偏移量0x0E处,它显示此值包含秒/2(其中秒可以是0-29)在第4-0位。在这些数字(0-29)中,将它们中的任何一个乘以2得到实际秒数产生一个限制为2秒偶数间隔的数字。非常感谢。非常棒的参考。实际上,在偏移量0x0E处,它显示该值包含秒/2(其中秒可以是0-29)在第4-0位内。在这些数字(0-29)中,将其中任何一个数字乘以2得到实际秒数,生成的数字的时间间隔限制为2秒偶数。非常感谢。非常棒的参考。事实上,在偏移量0x0E处,它显示该值在这些数字(0-29)的第4-0位内包含秒/2(其中秒数可以是0-29),将它们中的任何一个乘以2得到实际的秒数,生成的数字的时间间隔限制为2秒偶数。非常感谢。非常棒的参考。事实上,在偏移量0x0E处,它显示该值在这些数字(0-29)的位4-0内包含秒/2(其中秒数可以是0-29),将它们中的任何一个乘以2得到实际的秒数,得到的数字限制为2秒偶数时间间隔。