系统时间——使用示例
系统时间——相关函数
中文名称 | 英文名称 | 示例 | 作用 |
枚举日历 | EnumCalendarInfoA | 枚举日历(@回调,区域,日历,类型) | 枚举指定区域设置的日历信息。 |
列举日历 | EnumCalendarInfoExA | 列举日历(@回调,区域,日历,类型) | 枚举由标识符指定的区域设置的日历信息。 |
枚举日期 | EnumDateFormatsA | 枚举日期(@回调,区域,标志) | 枚举可用于指定区域设置的长日期、短日期或年/月格式。标志:1长日期,2短日期,8年/月,0x80月/日 |
列举日期 | EnumDateFormatsExA | 列举日期(@回调,区域,标志) | 枚举可用于指定区域设置的长日期、短日期或年/月格式。标志:1长日期,2短日期,8年/月,0x80月/日 |
枚举时间 | EnumTimeFormatsA | 枚举时间(@回调,区域,标志) | 枚举可用于由标识符指定的区域设置的时间格式。标志:0当前长时间,2当前短时间 |
枚举码页 | EnumSystemCodePagesA | 枚举码页(@回调,标志) | 枚举安装在操作系统上或受操作系统支持的代码页。标志:1已安装的代码页,2所有代码页 |
枚举地区 | EnumSystemLocalesA | 枚举地区(@回调,标志) | 枚举安装在操作系统上或受操作系统支持的区域设置。标志:1已安装,2所有区域,4仅备用排序区域 |
当前时间 | GetLocalTime | 当前时间(时间类) | 获取当前系统日期和时间,系统时间结构体得到的是当前时间 |
设置时间 | SetLocalTime | 设置时间(时间体) | 设置当前的本地时间和日期 |
修改时间 | SetSystemTime | 修改时间(时间体) | 修改当前系统日期和时间,系统时间结构体是世界时(UTC) |
国标时间 | GetSystemTime | 国标时间(时间类) | 获取当前系统日期和时间,系统时间结构体得到的是世界时(UTC) |
开机毫秒 | GetTickCount | 计数=开机毫秒 | 获取当前系统启动以来经过的毫秒数 |
格式时间 | GetDateFormatA | 格式时间(区域,选项,日期,格式,内容,长度) | 把系统时间结构体转换为指定格式的字符串 |
电源状态 | GetDevicePowerState | 电源状态(设备,@状态) | 获得设备是处于工作状态还是低功耗状态 |
关闭系统 | SetSystemPowerState | 关闭系统(挂机,0) | 通过关闭电源挂起系统。挂起为真则关机,为假则休眠. |
退出系统 | ExitWindowsEx | 退出系统(方式,0) | 方式:1安全关机,2重启,4注销,8关系统和电源 |
平台目录 | GetWindowsDirectoryA | 长度=平台目录(路径,大小) | 获取操作系统平台所在的目录C:\WINDOWS |
系统目录 | GetSystemDirectoryA | 长度=系统目录(路径,大小) | 获取系统所在的目录C:\WINDOWS\SYSTEM |
转文时间 | DosDateTimeToFileTime | 转文时间(日期,时间,文件时间) | 将 MS-DOS 日期和时间值转换为文件时间。 |
文转旧时 | FileTimeToDosDateTime | 文转旧时(文件时间,@日期,@时间) | 将文件时间转换为 MS-DOS 日期和时间值。 |
文转本地 | FileTimeToLocalFileTime | 文转本地(文件时间,本地时间) | 将文件时间转换为本地文件时间。 |
本地转文 | LocalFileTimeToFileTime | 本地转文(本地时间,文件时间) | 根据协调世界时 (UTC)将本地文件时间转换为文件时间。 |
文转时间 | FileTimeToSystemTime | 文转时间(文件时间,时间类) | 根据协调世界时 (UTC)将文件时间转换为系统时间格式。 |
时间转文 | SystemTimeToFileTime | 时间转文(文件时间,时间类) | 根据协调世界时 (UTC)将系统时间转换为文件时间格式。 |
时间转区 | SystemTimeToTzSpecificLocalTime | 时间转区(时区类,时间类,@时间类) | 将协调世界时 (UTC) 的时间转换为指定时区的相应本地时间格式。 |
比较时间 | CompareFileTime | 比较时间(文件时间1,文件时间2) | 比较两个文件时间。 |
系统信息 | GetSystemInfo | 系统信息(系统信息类) | 检索有关当前系统的 系统信息类 结构的信息。 |
系统电源 | GetSystemPowerStatus | 系统电源(电源状态类) | 检索系统的电源状态。 |
时钟调整 | GetSystemTimeAdjustment | 时钟调整(@调值,@周期,@是否) | 确定系统是否对其时间时钟应用定期时间调整,并获取任何此类调整的值和周期(单位100纳秒)。 |
调整时钟 | SetSystemTimeAdjustment | 调整时钟(定时,启用) | 启用或禁用对系统时间时钟的定期时间(单位100纳秒)调整。 |
世界时间 | GetSystemTimeAsFileTime | 世界时间(文件时间类) | 检索当前系统日期和时间。信息采用协调世界时 (UTC) 格式。 |
当前时区 | GetTimeZoneInformation | 当前时区(时区类) | 检索当前时区设置。这些设置控制协调世界时 (UTC) 和本地时间之间的转换。 |
设置时区 | SetTimeZoneInformation | 设置时区(时区类) | 设置当前时区设置。这些设置控制协调世界时 (UTC) 和本地时间之间的转换。 |
启动信息 | GetStartupInfoA | 启动信息(启动信息类) | 检索创建调用进程时指定的 启动信息类 结构的内容。 |
系统版本 | GetVersion | 系统版本 | 返回低序字中操作系统的主版本号和次版本号,以及高序字中有关操作系统平台的信息。 |
获取版本 | GetVersionExA | 获取版本(版本信息类) | 获取操作系统信息的版本信息类结构数据。 |
文件时间类
中文名字 | 英文名称 | 长度 | 作用解释 |
文件时间类 | FILETIME | 8 | 包含一个 64 位值,表示自 1601 年 1 月 1 日 (UTC) 以来的 100 纳秒间隔数。 |
文件时间类——成员表 | |||
---|---|---|---|
低值 | dwLowDateTime | 整数 | 文件时间的低序部分。 |
高值 | dwHighDateTime | 整数 | 文件时间的高序部分。 |
货币类
DOS日期
位 | 数值 | 说明 |
0-4 | 1-31 | 月中的某一天 |
5-8 | 1-12 | 月份 |
9-15 | 0-127 | 从1980年算起的年数 |
DOS时间
位 | 数值 | 说明 |
0-4 | 0-30 | 秒除以 2 |
5-10 | 0-59 | 分钟 |
11-15 | 0-23 | 24小时制 |
时区类
中文名字 | 英文名称 | 长度 | 作用解释 |
时区类 | TIME_ZONE_INFORMATION | 108 | 指定时区的设置。 |
时区类 成员表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
时差 | Bias | 整数 | 此计算机上本地时间转换的当前偏差(以分钟计)。UTC = 本地时间 + 偏差 |
标名 | StandardName[32] | 文本 | 标准时间的说明。 例如,“EST”可能表示东部标准时间。 |
标时 | StandardDate | 时间类 | 一个 时间类 结构,包含从夏令时到标准时间在此操作系统上发生转换的日期和本地时间。 |
标差 | StandardBias | 整数 | 在标准时间发生的本地时间转换期间使用的偏差值。在大多数时区中,此成员的值为零。 |
夏名 | DaylightName[32] | 文本 | 夏令时的说明。 例如,“PDT”可能表示太平洋夏令时。 |
夏时 | DaylightDate | 时间类 | 一个 SYSTEMTIME 结构,包含从标准时间到夏令时在此操作系统上发生转换的日期和本地时间。 |
夏差 | DaylightBias | 整数 | 在夏令时发生的本地时间转换期间使用的偏差值。在大多数时区中,此成员的值为 –60。 |
时间类
中文名字 | 英文名称 | 长度 | 作用解释 |
时间类 | SYSTEMTIME | 16 | 用来存储日期时间的一种结构数据,对应函数:GetLocalTime、SetLocalTime |
时间类——成员表 | |||
---|---|---|---|
年 | wYear | 整形 | 公元年份 |
月 | wMonth | 整形 | 每年的月份,取值[1-12] |
星期 | wDayOfWeek | 整形 | 每周的第几天,取值[0-6] |
日 | wDay | 整形 | 每月的第几天,取值[1-31] |
时 | wHour | 整形 | 每天的第几小时,取值[0-23] |
分 | wMinute | 整形 | 每小时的第几分,取值[0-59] |
秒 | wSecond | 整形 | 每分钟的第几秒,取值[0-59] |
毫秒 | wMilliseconds | 整形 | 每秒的毫秒数,取值[0-999] |
电源状态类
中文名字 | 英文名称 | 长度 | 作用解释 |
电源状态类 | SYSTEM_POWER_STATUS | 12 | 包含有关系统电源状态的信息。 |
电源状态类 成员表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
电源 | ACLineStatus | 字节 | 交流电源状态。0脱机1联机255未知 |
充电 | BatteryFlag | 字节 | 电池充电状态。1超过66%;2小于33%;4小于5%;8充电中;128无电池;255无法读取电池标志信息 |
电量 | BatteryLifePercent | 字节 | 剩余电池电量的百分比。此成员可以是 0 到 100 范围内的值;如果状态未知,则为 255。 |
节电 | SystemStatusFlag | 字节 | 节电模式的状态。0关闭1打开 |
可用 | BatteryLifeTime | 整数 | 剩余电池使用时间的秒数;如果剩余秒未知或设备连接到交流电源,则为 –1。 |
充满 | BatteryFullLifeTime | 整数 | 充满电时的电池使用时间的秒数;如果电池完整使用时间未知或设备连接到交流电源,则为 –1。 |
系统信息类
中文名字 | 英文名称 | 长度 | 作用解释 |
系统信息类 | SYSTEMINFO | 36 | 包含了当前计算机的信息。函数GetSystemInfo |
系统信息类——成员表 | |||
---|---|---|---|
处理器 | wProcessorArchitecture | 整数 | 指定系统中的中央处理器的体系结构 |
页面大小 | dwPageSize | 整数 | 指定页面的大小和页面保护和委托的颗粒。 |
最低内存 | lpMinimumApplicationAddress | 整数 | 指向应用程序和动态链接库(DLL)可以访问的最低内存地址。 |
最高内存 | lpMaximumApplicationAddress | 整数 | 指向应用程序和动态链接库(DLL)可以访问的最高内存地址。 |
掩码 | dwActiveProcessorMask | 整数 | 指定一个用来代表这个系统中装配了的中央处理器的掩码。 |
数目 | dwNumberOfProcessors | 整数 | 指定系统中的处理器的数目。 |
种类 | dwProcessorType | 整数 | 指定系统中中央处理器的类型。 |
分配 | dwAllocationGranularity | 整数 | 指定已经被分配的虚拟内存空间的粒度。分配内存时最小值 |
级别 | wProcessorLevel | 整形 | 指定系统体系结构依赖的处理器级别。例如:3=Intel 80386,4=Intel 80486,5=Pentium |
修订 | wProcessorRevision | 整形 | 指定系统体系结构依赖的处理器修订版本号。 |
版本信息类
中文名字 | 英文名称 | 长度 | 作用解释 |
版本信息类 | OSVERSIONINFO | 148 | 载入与平台和操作系统有关的版本信息。函数GetVersionExA |
版本信息类——成员表 | |||
---|---|---|---|
长度 | dwOSVersionInfoSize | 整数 | 初始化为结构的大小 |
主版本 | dwMajorVersion | 整数 | 系统主版本号 |
次版本 | dwMinorVersion | 整数 | 系统次版本号 |
构建号 | dwBuildNumber | 整数 | 系统构建号 |
平台号 | dwPlatformId | 整数 | 系统支持的平台号。2=WinNT |
系统平台 | szCSDVersion | 文本 | 128字节的系统支持的平台名称 |
处理器功能
英文名称 | 数值 | 作用解释 |
PF_ARM_64BIT_LOADSTORE_ATOMIC | 25 | 可以使用 64 位加载/存储原子指令。 |
PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE | 24 | 可以使用除法指令。 |
PF_ARM_EXTERNAL_CACHE_AVAILABLE | 26 | 外部缓存可用。 |
PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE | 27 | 浮点乘积指令可用。 |
PF_ARM_VFP_32_REGISTERS_AVAILABLE | 18 | VFP/Neon:存在 32 x 64 位寄存器库。 |
PF_3DNOW_INSTRUCTIONS_AVAILABLE | 7 | 3D-Now 指令集可用。 |
PF_CHANNELS_ENABLED | 16 | 处理器通道已启用。 |
PF_COMPARE_EXCHANGE_DOUBLE | 2 | 可以使用 (cmpxchg) 的原子比较和交换操作。 |
PF_COMPARE_EXCHANGE128 | 14 | 可以使用 128 位原子比较和交换操作 (cmpxchg16b) 。 |
PF_COMPARE64_EXCHANGE128 | 15 | 可以使用原子比较 64 和交换 128 位操作 (cmp8xchg16) 。 |
PF_FASTFAIL_AVAILABLE | 23 | _fastfail () 可用。 |
PF_FLOATING_POINT_EMULATED | 1 | 浮点运算是使用软件模拟器模拟的。 |
PF_FLOATING_POINT_PRECISION_ERRATA | 0 | 在Pentium上,在极少数情况下可能会出现浮点精度误差。 |
PF_MMX_INSTRUCTIONS_AVAILABLE | 3 | MMX 指令集可用。 |
PF_NX_ENABLED | 12 | 已启用数据执行防护 。 |
PF_PAE_ENABLED | 9 | 处理器已启用 PAE。对于此功能,所有 x64 处理器始终返回非零值。 |
PF_RDTSC_INSTRUCTION_AVAILABLE | 8 | RDTSC 指令可用。 |
PF_RDWRFSGSBASE_AVAILABLE | 22 | 提供 RDFSBASE、RDGSBASE、WRFSBASE 和 WRGSBASE 指令。 |
PF_SECOND_LEVEL_ADDRESS_TRANSLATION | 20 | 硬件支持二级地址转换。 |
PF_SSE3_INSTRUCTIONS_AVAILABLE | 13 | SSE3 指令集可用。 |
PF_SSSE3_INSTRUCTIONS_AVAILABLE | 36 | SSSE3 指令集可用。 |
PF_SSE4_1_INSTRUCTIONS_AVAILABLE | 37 | SSE4_1指令集可用。 |
PF_SSE4_2_INSTRUCTIONS_AVAILABLE | 38 | SSE4_2指令集可用。 |
PF_AVX_INSTRUCTIONS_AVAILABLE | 39 | AVX 指令集可用。 |
PF_AVX2_INSTRUCTIONS_AVAILABLE | 40 | AVX2 指令集可用。 |
PF_AVX512F_INSTRUCTIONS_AVAILABLE | 41 | AVX512F 指令集可用。 |
PF_VIRT_FIRMWARE_ENABLED | 21 | 虚拟化在固件中启用,并由操作系统提供。 |
PF_XMMI_INSTRUCTIONS_AVAILABLE | 6 | SSE 指令集可用。 |
PF_XMMI64_INSTRUCTIONS_AVAILABLE | 10 | SSE2 指令集可用。 |
PF_XSAVE_ENABLED | 17 | 处理器实现 XSAVE 和 XRSTOR 指令。 |
PF_ARM_V8_INSTRUCTIONS_AVAILABLE | 29 | 此 Arm 处理器实现 Arm v8 指令集。 |
PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE | 30 | 此 Arm 处理器实现 Arm v8 的额外加密指令 (例如 AES、SHA1 和 SHA2) 。 |
PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE | 31 | 此 Arm 处理器实现 Arm v8 额外的 CRC32 指令。 |
PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE | 34 | 此 Arm 处理器实现 Arm v8.1 原子指令 (例如 CAS、SWP) 。 |
PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE | 43 | 此 Arm 处理器实现 Arm v8.2 DP 指令 (例如 SDOT、UDOT) 。 此功能在 Arm v8.2 实现中是可选的,在 Arm v8.4 实现中是必需的。 |
PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE | 44 | 此 Arm 处理器实现 Arm v8.3 JSCVT 指令 (例如 FJCVTZS) 。 |
PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE | 45 | 此 Arm 处理器实现 Arm v8.3 LRCPC 指令 (例如 LDAPR) 。 请注意,某些 Arm v8.2 CPU 可以选择性地支持 LRCPC 指令。 |
ERROR_BEGINNING_OF_MEDIA | 1102 | 尝试在中开始标记之前访问数据失败。 |
ERROR_BUS_RESET | 1111 | 在总线上检测到重置条件。 |
ERROR_DEVICE_NOT_PARTITIONED | 1107 | 加载磁带时找不到分区信息。 |
ERROR_DEVICE_REQUIRES_CLEANING | 1165 | 磁带机能够报告它需要清洁,并报告它确实需要清洁。 |
ERROR_END_OF_MEDIA | 1100 | 操作期间到达了磁带结束标记。 |
ERROR_FILEMARK_DETECTED | 1101 | 操作期间已达到文件标记。 |
ERROR_INVALID_BLOCK_LENGTH | 1106 | 在多卷分区中的新磁带上,块大小不正确。 |
ERROR_MEDIA_CHANGED | 1110 | 已更换或删除驱动器中的磁带。 |
ERROR_NO_DATA_DETECTED | 1104 | 操作期间到达了数据结束标记。 |
ERROR_NO_MEDIA_IN_DRIVE | 1112 | 驱动器中没有媒体。 |
ERROR_NOT_SUPPORTED | 50 | 磁带驱动程序不支持请求的函数。 |
ERROR_PARTITION_FAILURE | 1105 | 无法对磁带进行分区。 |
ERROR_SETMARK_DETECTED | 1103 | 操作期间已达到设置标记。 |
ERROR_UNABLE_TO_LOCK_MEDIA | 1108 | 尝试锁定弹出机制失败。 |
ERROR_UNABLE_TO_UNLOAD_MEDIA | 1109 | 尝试卸载磁带失败。 |
ERROR_WRITE_PROTECT | 19 | 介质受写入保护。 |
语言版本类
中文名字 | 英文名称 | 长度 | 作用解释 |
语言版本类 | NLSVERSIONINFOEX | 32 | 包含有关 NLS 功能的版本信息。 |
语言版本类 成员表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
大小 | dwNLSVersionInfoSize | 整数 | 结构的大小(以字节为单位)。 |
版本 | dwNLSVersion | 整数 | 版本。 此值用于跟踪对具有特定区域设置的指定功能的代码点集的更改和添加。 该值特定于区域设置,并在功能更改时递增。 |
定义 | dwDefinedVersion | 整数 | 定义的版本。 此值用于跟踪 Unicode 码位的更改。 |
顺序 | dwEffectiveId | 整数 | 用于表示版本的输入区域设置的排序顺序的标识符。 |
行为 | guidCustomVersion[16] | 文本 | 表示所表示版本的区域设置使用的自定义排序行为的唯一 GUID。 |
区域文字比较——使用标志
英文名称 | 数值 | 作用 |
LINGUISTIC_IGNORECASE | 0x10 | 在语言上适当时忽略大小写。 |
LINGUISTIC_IGNOREDIACRITIC | 0x10 | 在语言上适当时忽略非节奏字符。 |
NORM_IGNORECASE | 1 | 忽略大小写。 对于许多脚本 (尤其是拉丁语脚本) 。 |
NORM_IGNOREKANATYPE | 0x10000 | 不要区分平假名和片假名字符。 对应的平假名和片假名字符比较相等。 |
NORM_IGNORENONSPACE | 2 | 忽略非节奏字符。 对于许多脚本 (尤其是拉丁语脚本) 。 |
NORM_IGNORESYMBOLS | 4 | 忽略符号和标点。 |
NORM_IGNOREWIDTH | 0x20000 | 忽略半角字符和全角字符之间的差异。 全角窗体是中文和日文脚本中使用的格式差异。 |
NORM_LINGUISTIC_CASING | 0x08000000 | 使用默认语言规则进行大小写,而不是文件系统规则。 |
SORT_DIGITSASNUMBERS | 8 | Windows 7:在排序过程中,将数字视为数字,例如,在“10”前排序“2”。 |
SORT_STRINGSORT | 0x1000 | 将标点视为符号。 |