zoukankan      html  css  js  c++  java
  • ntfs 时间戳换算

    ntfs记录的文件时间,在MFT的0x10属性中,存储的是8个byte的时间,这个时间表示的是自1601年1月1日的00:00开始的100ns的计数.

     

     

    132,670,139,622,214,003(00) ns = 132,670,139,62 s

    from dateutil.parser import parse
    import time as tm
    from datetime import *
    
    var = 0x01D756CA007BC973
    time_ntfs = parse('1601-01-01/00:00:00')
    time_utc = parse('1970-01-01/00:00:00' )
    varstr = var.to_bytes(8,'little',signed=False)
    print ( 'HEX:	%#2x'  %  var  )
    print ( 'HEX(lit):	%#2s'  % bytes.hex(varstr)  )
    print (  'int:	%d' % var  )
    offset =  ((time_utc- time_ntfs)).total_seconds() * 10000000
    var_file = (var - offset) 
    print ( var_file )
    print ( datetime.utcfromtimestamp(var_file /10000000 ) )
    
    time_file = parse('2021-06-01/09:39:22.221400' )
    print (tm.mktime(time_file.timetuple()))
    HEX:	0x1d756ca007bc973
    HEX(lit):	73c97b00ca56d701
    int:	132670139622214003
    1.6225403622214e+16
    2021-06-01 09:39:22.221400
    1622511562.0




    范晨鹏
    ------------------
    软件是一种态度
    成功是一种习惯


  • 相关阅读:
    数据挖掘常用算法
    helloworld
    sqlserver 变量级基本语法
    存储过程
    动态代理jdk 和cglib
    创建表添加约束
    sqlserver 子查询
    创建数据库
    javaScript实现同意等待——心得
    JavaScript关于不要复制黏贴代码的心得
  • 原文地址:https://www.cnblogs.com/diylab/p/14883348.html
Copyright © 2011-2022 走看看