如何转换为 Win32 FILETIME 或 SYSTEMTIME 的 UNIX time_t

2023-11-09

在 UNIX 平台下名为 time_t',表示 1970 年 1 月 1,UTC (协调通用时间) 午夜以来经过的秒数是 ANSI C 运行库算术类型的窗体中维护文件的时间。 
在 Win32 平台下主要中表示的数自 1601 年 1 月 1,UTC 以来的 100 个十亿分之一秒间隔 (坐标通用时间) 一个 64 位 FILETIME 结构的形式维护文件的时间。 
本文说明如何将 UNIX 时间转换为其他 Win32 时间格式。

 

下面的函数将一个 filetime UNIX time_t 格式转换为 Win32 FILETIME 格式。注意 time_t 是一个 32 位的值,FILETIME 是一个 64 位结构,因此,在下面的函数中使用 Win32 功能 Int32x32To64():

   #include <winbase.h>
   #include <winnt.h>
   #include <time.h>

   void UnixTimeToFileTime(time_t t, LPFILETIME pft)
   {
     // Note that LONGLONG is a 64-bit value
     LONGLONG ll;

     ll = Int32x32To64(t, 10000000) + 116444736000000000;
     pft->dwLowDateTime = (DWORD)ll;
     pft->dwHighDateTime = ll >> 32;
   }
				
一旦 UNIX 时间转换为 FILETIME 结构,其他 Win32 时间格式可以轻松地获得使用如 FileTimeToSystemTime() 和 FileTimeToDosDateTime() 的 Win32 函数。
   void UnixTimeToSystemTime(time_t t, LPSYSTEMTIME pst)
   {
     FILETIME ft;

     UnixTimeToFileTime(t, &ft);
     FileTimeToSystemTime(&ft, pst);
   }
				

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何转换为 Win32 FILETIME 或 SYSTEMTIME 的 UNIX time_t 的相关文章

  • 直接向pbs脚本传递参数

    有没有办法在提交作业之前直接将参数传递给 pbs 脚本 我需要循环遍历由不同数字表示的文件列表 并应用脚本来分析每个文件 我能想到的最好的办法如下 bin sh for i 1 i lt 10 i do export FILENUM i q
  • 带有存储在文件中的通配符的 grep

    我希望 grep 通过读取需要从文本文件中过滤掉的内容来过滤掉行 这是我给 grep 的内容 它存储在foo txt Users 1337 X Users 1337 R Users 1337 W 这是它应该过滤的内容 它存储在bar txt
  • Windows 相当于 Unix find 命令,用于搜索多种文件类型

    虽然在 Windows 中安装了 cygwin 可以提供大部分 unix 命令 但我仍然想知道如何使用 Windows find 命令在一个命令中搜索多个文件类型 ie find name cpp o name h o name java
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 在unix、bash中合并csv文件

    我有一些 csv 文件 其格式如下 测试1 csv field port1 a1 0 2 a2 0 3 a3 0 6 测试2 csv field port2 b1 0 5 b2 0 6 b3 0 7 b4 0 1 b5 0 5 测试3 cs
  • 使用 wget 从 Google Scholar 搜索结果下载所有 pdf 文件

    我想写一个简单的网络蜘蛛或者只是使用wget从谷歌学术下载 pdf 结果 这实际上是获取研究论文的一种非常巧妙的方式 我已阅读 stackoverflow 上的以下页面 使用wget爬取网站并限制爬取链接总数 https stackover
  • Unix 排序实用程序:使用十六进制字节值作为分隔符

    我想知道是否可以使用十六进制值作为 Unix 的分隔符sort公用事业 基本上我想做一些类似的事情 sort t x00
  • 重新链接匿名(未链接但打开)文件

    在 Unix 中 可以创建匿名文件的句柄 例如 使用 creat 创建并打开它 然后使用 unlink 删除目录链接 留下一个带有 inode 和存储的文件 但没有可能的方法重新打开它 此类文件通常用作临时文件 通常这就是 tmpfile
  • shell脚本中是否有互斥/信号量机制?

    我正在 shell 脚本中寻找互斥 信号量 并发机制 考虑以下情况 除非 a 用户不关闭共享文件 否则 b 用户应该无法打开 更新它 我只是想知道如何在 shell 脚本中实现互斥量 信号量 临界区等 在 shell 脚本中实现锁定机制 文
  • 如果目录不存在,有没有办法让 mv 创建要移动到的目录?

    因此 如果我在主目录中并且想将 foo c 移动到 bar baz foo c 但这些目录不存在 是否有某种方法可以自动创建这些目录 以便你只需要输入 mv foo c bar baz 一切都会顺利吗 似乎您可以将 mv 别名为一个简单的
  • X 服务器使用什么像素格式?

    X 服务器使用什么像素格式 RGBA ARBG BGRA 如果有任何特定格式的话 Update 我专门寻找有关颜色分量顺序和位模式的信息 你的意思是帧缓冲区格式 或者所有支持的像素图格式 无论是哪一种 都取决于您的图形硬件 驱动程序和配置
  • 使用 Bash 按进程名称检查 Mac 进程是否正在运行

    如何使用 Bash 脚本中的进程名称检查 Mac OS X 上的进程是否正在运行 我正在尝试编写一个 Bash 脚本 如果进程已停止 它将重新启动进程 但如果进程仍在运行 则不执行任何操作 解析这个 ps aux grep v grep g
  • 从文件中删除包含非英语 (Ascii) 字符的行

    我有一个文本文件 其中包含来自不同语言的字符 例如 中文 拉丁文等 我想删除包含这些非英语字符的所有行 我想包含所有英文字符 a b 数字 0 9 和所有标点符号 我如何使用 awk 或 sed 等 unix 工具来完成此操作 Perl 支
  • 如何在Linux中获取带有图标的活动应用程序

    我想找到一种方法获取活动应用程序的列表及其名称和图标 实际上 我正在使用此命令来获取所有活动进程 wmctrl lp 示例输出 0x03800002 0 3293 user notebook XdndCollectionWindowImp
  • 使用终端(或 Shell)将文件的一部分复制/粘贴到另一个文件中

    我正在尝试将 txt 文件的一部分从行号 n 复制到行号 n y 假设 1000 到 1000000 我尝试过与运营商合作sed 并且失败了 这是我尝试过的命令 sed n 1000 1000000p path first file gt
  • 为什么我的信号处理程序只执行一次?

    我正在 UNIX 和 C 中处理信号 并遇到了这个问题 我正在尝试编写一个计数到 10 的程序 每秒一个数字 当用户尝试使用 SIGINT 如 CTRL C 中断它时 它会打印一条消息 告诉它无论如何都会继续计数 到目前为止 我得到了这个
  • 为什么符号链接的权限默认为所有许可?

    当我使用创建硬链接时ln ln testfile txt testfile2 txt 文件硬链接 通过 inode 表中两个别名的相同 inode 编号进行确认ls li 对硬链接文件具有与原始名称文件相同的初始权限 1222285 rw
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 如何处理文件中的特殊字符(ഀ)

    我有一个文件 当我打开它时 它看起来像这样 Notepad A B C D E 31 HB 39 Ph 49 32 FB 38 Ph 59 当我尝试从 WinScp 打开它时 它看起来如下所示 A B C D E 31 HB 39 Ph 4

随机推荐

  • 这篇文章带你了解sql语句是怎么执行的

    一条sql语句是怎么执行的 一 mysql架构分析 二 语句分析 2 1 查询语句 2 2 更新语句 三 总结 mysql有各种版本的架构图 但基本上都可以分为Server层和存储引擎层 一 mysql架构分析 下面是mysql的一个简要架
  • web压测工具http_load原理分析

    01 前言 http load是一款测试web服务器性能的开源工具 从下面的网址可以下载到最新版本的http load http www acme com software http load 这个软件一直在保持着更新 不像webbench
  • el-tree组件展示节点过多时造成页面卡顿、奔溃的解决办法

    解决el tree组件展示节点过多时造成页面卡顿 奔溃 前几天测试提了个BUG 文件列表展示5w个文件页面会卡顿甚至奔溃 项目用的是vue element ui框架 我是使用el tree进行渲染文件列表的 参考网上使用virtual sc
  • Log4j2注入漏洞万字剖析-汇总收藏版(攻击步骤、漏洞原理、2.15.0-RC1绕过原理以及2.15.0、2.16.0修复原理)

    系列文章 2 15 0之前版漏洞相关文章 Log4j2注入漏洞 CVE 2021 44228 万字深度剖析 一 开篇与基础知识 Log4j2注入漏洞 CVE 2021 44228 万字深度剖析 二 漏洞原理 Log4j2注入漏洞 CVE 2
  • ILRuntime(二)整合Hotfix到Unity中,脚本生成dll文件

    如果开发的时候按之前的一个Hotfix工程 一个Unity工程 开发会很麻烦 因此我们可以把Hotfix部分的代码放入到Unity当中 并增加一个标记 到时候把这些代码整合成一个dll文件即可 具体思路 ILRuntime的原理就是热更代码
  • nginx中root和alias指令的解释

    1 基本信息 功能均为将url映射为文件路径 返回静态文件内容 格式 alias path root path 2 区别 root会映射完整url 会将location匹配的部分 追加到path后面 即 root指定web的家目录 在定义l
  • 机器学习 BP神经网络(Python实现)

    一个神经元即一个感知机模型 由多个神经元相互连接形成的网络 即神经网络 这里我们只讨论单隐层前馈神经网络 其连接形式入下 神经网络模型的待估参数即 每个神经元的阈值 以及神经元之间的连接权重 对于该模型有如下定义 训练集 D x1 y1 x
  • ubuntu安装ftp服务器(一般配置)

    ubuntu安装ftp服务器 1 安装vsftpd sudo apt get install vsftpd ubuntu10 10自己装了 这步省略 2 配置vsftpd 2 1 修改vsftpd的配置文件 此类配置文件通常位于 etc 目
  • Spark 与 DataFrame

    Spark 与 DataFrame 前言 在 Spark 中 除了 RDD 这种数据容器外 还有一种更容易操作的一个分布式数据容器 DateFrame 它更像传统关系型数据库的二维表 除了包括数据自身以外还包括数据的结构信息 Schema
  • koa后端实践

    作者借着不忙的时间用koa搭了一个后端的服务器 可轻松实现api调用 大家如果有需要 可以查看 https github com guodonglw koa demo 相比于express框架 koa框架的async await语法简直让人
  • QT中固定窗体大小的方法

    在构造函数中添加以下两行代码即可 this gt setMaximumSize 400 300 this gt setMinimumSize 400 300 其中400 300即是所固定的尺寸 include mainwindow h in
  • java配置_Java开发环境的配置

    第一阶段 JAVA基础知识 第一章 开发环境的配置 知识铺垫 Dos 命令 在正式进入Java学习之前我们来了解一个看起来B格很高的东西 Dos命令 DOS命令 计算机术语 是指DOS操作系统的命令 是一种面向磁盘的操作命令 主要包括目录操
  • 手写Spring框架(三)

    这部分目标是MVC 主要完成3个重要组件 HandlerMapping 保存URL映射关系 HandlerAdapter 动态参数适配器 ViewResolvers 视图转换器 模板引擎 SpringMVC核心组件执行流程 相对应的 用以下
  • 启动idea报错问题

    因为前一天研究JVM参数配置问题 使用了一些跟JDK相关版本的参数 Xloggc D logs app1 gc t log XX UseGCLogFileRotation XX NumberOfGCLogFiles 5 XX GCLogFi
  • vi下显示和处理回车换行符等特殊符号

    http blog sina com cn s blog 4c76784c0100uaf9 html 换行方式 在早期的打印机时代 开始新的一行要占用两个字符的时间 如果到了一行的结尾处 你要快速回到新的一行的开头 需要打印针头在纸面上飞快
  • Android入门(五)

    文章目录 Activity 的状态及生命周期 实现管理生命周期 FirstActivity SecondActivity DialogActivity 运行结果 旧活动被回收了还能返回吗 Activity 的状态及生命周期 Android
  • 微信小程序生成分享图然后保存图片分享朋友圈

    微信小程序可以实现快速的转发好友实现分享 但是不能直接分享到朋友圈 但是有需要要这么做 要怎么实现呢 查看文档之后 大概有了实现思路 1 使用微信小程序的wx createCanvasContext 方法 绘制图片 2 使用wx canva
  • centos8 yum源配置

    1 手动配置网卡 nmcli connection modify ens160 connection autoconnect yes nmcli connection modify ens160 ipv4 method manual ipv
  • CSS层叠样式表(一)

    在学习完HTML之后我们就会进入到一个新的阶段 就是CSS层叠样式表的学习 通过使用 CSS 我们可以大大提升网页开发的工作效率 在本篇文章当中 您会了解到如何使用 CSS 同时控制多重网页的样式和布局 更重要的是在本篇文章中会对CSS选择
  • 如何转换为 Win32 FILETIME 或 SYSTEMTIME 的 UNIX time_t

    在 UNIX 平台下名为 time t 表示 1970 年 1 月 1 UTC 协调通用时间 午夜以来经过的秒数是 ANSI C 运行库算术类型的窗体中维护文件的时间 在 Win32 平台下主要中表示的数自 1601 年 1 月 1 UTC