VC 设置系统时间

Matlab-simulink仿真FM(PM)调制 1、频率调制原理 ①、从公式可以看出FM和PM就是是否对基带信号进行积分的区别,FM需要积分,PM不需要积分; ②、将基带信号(PM)或积分后的基带信号(FM),直接放入(控制)调制信号的瞬时相位偏移; ③、等到FM或PM调制信号。 2、解调原理 ①、相干解调 已知锁相环电路具备频率解调的功能,主要是先将调制信号进行下变频,将频率调制信号分解成低频(存储有基带信号信息)和高频信号,再使用... 阅读详情
VC 设置系统时间
2009年06月08日 星期一 18:18
1、使用API函数SetLocalTime进行本地时间设置。
1)SetLocalTime函数的原型:
BOOL SetLocalTime( const SYSTEMTIME *lpSystemTime );
输入参数lpSystemTime是一个SYSTEMTIME类型的参数,如果设置成功,返回true,本地时间将会变成lpSystemTime所指定的时间,否则返回false。
看一下SYSTEMTIME的格式:
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;
各成员的含义不用解释了吧。
2)我们来看一下如何利用SYSTEMTIME结构体和SetLocalTime函数进行本地时间的设置。

SYSTEMTIME st;
st.wYear = 2007;
st.wMonth = 11;
st.wDay = 24;
st.wHour = 3;
st.wMinute = 14;
st.wSecond = 0;

st.wMilliseconds = 0;

SetSystemTime(&st);

对比一下SYSTEMTIME结构体,可以发现,除wDayOfWeek成员之外,其它各成员都进行赋值了,甚至连wMilliseconds。使用这种 方式进行系统时间设置时,会忽略wDayOfWeek成员,可以不进行该成员的赋值(即使你赋值了也不会被考虑的),但其它所有成员都必须时行赋值,否则 无法成功地进行时间设置。

 

3)如果只想对其中的几项进行设置的话,可以先使用GetLocalTime函数来获取当前本地时间,然后再对相应的项进行修改,如下:

SYSTEMTIME st;
GetLocalTime(&st);
st.wHour = 3;
SetLocalTime(&st);

这样的方式比上面方便多了。

 

4)上面说到的方法都是对每一项单独进行设置,在VC里面,也提供了一次性设置所有项的方法,使用COleDateTime类。

COleDateTime tm;
SYSTEMTIME st;

tm.ParseDateTime("2007-11-24 8:00:00");

tm.GetAsSystemTime(st);
SetLocalTime(&st);

程序应该很好懂吧,不过有几个注意点要说明一下。

a)先是ParseDateTime,函数原型:

BOOL ParseDateTime(
LPCTSTR lpszDate,
DWORD dwFlags = 0,
LCID lcid = LANG_USER_DEFAULT );

lpszDate就是指定的日期时间了,可以有很多种形式,如:

"25 January 1996"
"8:30:00"
"20:30:00"
"January 25, 1996 8:30:00"
"8:30:00 Jan. 25, 1996"
"1/25/1996 8:30:00"

 

b)dwFlags有三种值,LOCALE_NOUSEROVERRIDE、VAR_TIMEVALUEONLY、VAR_DATEVALUEONLY。 LOCALE_NOUSEROVERRIDE是使用系统默认的方式,VAR_TIMEVALUEONLY是忽略日期,在该选项下,日期会被设置为0,也就 是1899年12月30日,在VAR_DATEVALUEONLY下忽略时间,时间被设置为0,即午夜零点。

 

c)至于第三个参数lcid,是指定转换方式,语言支持方面的,MSDN里面有个很详细的表,有兴趣可以去看看。

 

d)COleDateTime还提供了获取时间的函数,如GetYear()之类的。

 

e)注意一下,如果没有指定日期的话,转换后日期就自动变为0,也就是跑1899年去了,这可很危险啊。本来还想偷个懒不指定呢,谁知道怎么偷懒的告诉我一声啊。

 

2、SetLocalTime与SetSystemTime的差别

SetSystemTime的用法与SetLocalTime基本相同,不重复了。差点在于SetSystemTime所带的参数指定的是UTC时间(国 际标准时间),也就是说,像我的电脑里指定的是东八区,这样的话,使用SetSystemTime设置之后,系统的时间,会比参数里所设置的时间快8个小 时。

另外,这两个函数设置的时间,都是对本地机各个系统都有效的。本来很好奇windows系统下改了时间,linux下是不是也会跟着改呢。事实证明是这样的。

 

3、使用COleDateTimeSpan类进行时间的加减。

COleDateTime tm;
COleDateTimeSpan ts;
tm.ParseDateTime("2007-11-24 8:00:00");

ts.SetDateTimeSpan(0,8,0,-14);
tm+=ts;
SYSTEMTIME st;
tm.GetAsSystemTime(st);
SetLocalTime(&st);

 

这个程序也很易懂,不说什么了,你只要想清楚了是该加上这个时间差呢还是减去这个时间差就行了,我是经常转不过来啦。

 

另外,似乎在XP下有权限问题,不是管理员账号的可能不能这样进行修改,这个我没有去试过,谁去试过了跟我说一下吧。

 

最后补充一句,修改系统时间之后,编译时候容易出问题,最好是每次编译的时候把时间改回来了再重新编译,或者使用rebuild all,全部重新编译,要不很有可能即使你编译了,而得到的可执行文件还是修改之前的。

SetLocalTime 针对部分win7不让更改系统时间,改程序可直接更改系统时间,操作方便直观。 立即下载

相关推荐

WinCE 设置时间

WinCE 设置时间

C语言时间函数(3)之Windows下设置时间SetLocalTime和SetSystemTime

1.设置当前时区的时间 头文件:#include 函数声明:BOOL SetLocalTime(const SYSTEMTIME* lpSystemTime); 返回值:成功返回true,失败返回flase 这里介绍下SYSTEMTIME这个结构体 typedef struct _SYSTEMTIME {  // st      WORD wYear;     WORD wMo

行者三个石的博客 1万+

二维“能量源”(电场、磁场、功率)入射边界设置方法

comsol光学仿真设计相关学习笔记和经验 1. 二维“能量源”(电场、磁场、功率)入射边界设置方法 2.边界条件设置薄膜材料

VJCP_90909Bu0的博客 5193

[VC] 设置系统时间

主要讲如何在VC里进行系统时间设置。 1、使用API函数SetLocalTime进行本地时间设置。1)SetLocalTime函数的原型:BOOL SetLocalTime( const SYSTEMTIME *lpSystemTime );输入参数lpSystemTime是一个SYSTEMTIME类型的参数,如果设置成功,返回true,本地时间将会变成lpSystemTime

ninedays的专栏 2567

直流有刷电机H桥控制实战:从原理图到PWM调速(附DR70x驱动芯片详解)

本文详细解析了直流有刷电机H桥控制的核心技术,从原理图设计到PWM调速实现,特别针对DR70x驱动芯片的应用进行了深入探讨。文章涵盖了H桥电路的电流路径分析、PWM调速的工程细节、DR70x驱动芯片的工作原理及典型应用电路设计,并提供了实测波形分析和故障排查方法,为工程师提供了一套完整的解决方案。

weixin_29215815的博客 149

vue中使用video-player视频插件,第一次无法监听父组件穿过来的值解决办法

需求: 页面![在这里插入图片描述](https://img-blog.csdnimg.cn/20201208141906802.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfOTg4OA==,size_16,color_FFFFFF,t_70) 作品清单是从后端请求回来的不同格式的url,前端需求根据后缀动态判断格式,然后对齐进行下载和

A_9888的博客 770

VC里设置系统时间

转至:http://blog.sina.com.cn/s/blog_4c7fa77b01000at8.html  如何在VC里进行系统时间设置。   1、使用API函数SetLocalTime进行本地时间设置。 1)SetLocalTime函数的原型: BOOL SetLocalTime( const SYSTEMTIME *lpSystemTime ); 输入参数lpSystemTi

岁月的专栏 4061

matplotlib三维画图之观察博弈论混合策略下纳什均衡点

参考链接: 博弈论入门20讲之第16讲-猜谜游戏-散户如何赢庄家 游戏背景: 我的期望是: 你的期望是: 使用Python的matplotlib画图: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.linspace(0, 1, 100) Y = np.linspace(0, 1,

敲代码的小风 1259

VC里进行系统时间设置

使用API函数SetLocalTime进行本地时间设置。  ◦ SetLocalTime函数的原型: BOOL SetLocalTime( const SYSTEMTIME *lpSystemTime ); 输入参数lpSystemTime是一个SYSTEMTIME类型的参数,如果设置成功,返回true,本地时间将会变成lpSystemTime所指定的时间,否则返回false。看一下SYSTEM

骑着蜗牛'深一'族 1430

在Open3D中从网格中采样点云

在本文中,我们将学习如何使用Open3D从网格中采样点云。点云采样是点云处理的重要步骤之一,能够为后续的任务提供必要的输入。通过这些示例代码,我们可以很容易地使用Open3D库从网格模型中采样点云。值得注意的是,根据实际应用需求,我们可以调整采样点的数量和采样方法来满足不同的场景需求。除了使用Poisson Disk算法,Open3D还提供了其他的点云采样方法,如Uniform采样和Random采样。这个函数使用了Poisson Disk采样算法,可以在保持点云均匀性的同时,尽可能避免重叠点的生成。

FxRuby的博客 413

(第100天)Oracle GoldenGate 常见故障处理指南

OGG 运维的核心在于细致的配置管理和主动的问题排查。熟悉常见错误、掌握关键操作流程、并善用日志和调试工具,是保障数据同步任务稳定运行的关键。希望这份指南能帮助您更高效地解决 OGG 同步中遇到的问题。祝您运维顺利!

LuciferLiu_DBA 302

设置系统时间

主要讲如何在VC里进行系统时间设置。 使用API函数SetLocalTime进行本地时间设置。 SetLocalTime函数的原型: BOOL SetLocalTime( const SYSTEMTIME *lpSystemTime ); 输入参数lpSystemTime是一个SYSTEMTIME类型的参数,如果设置成功,返回true,本地时间将会变成lpSystemTime所指定

1355

245. 项目195:简易文字冒险游戏——《跟老吕学Python·新手》

如果您在学习本专栏教程时遇到任何问题,或有任何技术交流的意愿,欢迎在文章评论区留言,或通过优快云私信与老吕取得联系。老吕将及时回复您的留言,并与您共同探讨,以期为大家提供更为精准和有效的帮助。老吕珍视每一位读者的反馈和支持,期待与您共同学习、共同进步,共同创造美好的未来!我们的目标是不仅教会您Python语言,更是培养您解决问题的思维方式。请随意翻阅,按照自己的节奏学习,让这本专栏成为您编程旅程中的可靠伙伴。开发一个简易的文字冒险游戏,通过文本描述场景和事件,让玩家通过选择不同的选项来推动故事发展。

Python老吕的博客 713

VC中定时器设置

本文简单介绍下VC中定时器设置。 首先,新建对话框应用程序,然后添加几个操作按钮。 定义相关变量 private: int m_nValue; DWORD m_dwTimeStarted; LARGE_INTEGER m_cupHZ; LARGE_INTEGER m_StartCount; 源文件 void CTimeCountDlg::OnTimer(UINT nI

冰点蓝欣的专栏 1091

第1章 环境准备

本章是 Kubernetes 高可用集群部署的前置基础环境配置,所有节点必须严格按顺序执行。主要内容包括:节点规划(IP、角色、配置要求)、VMware 克隆节点环境清理(解决 MAC 地址和主机名冲突)、统一工作目录创建、主机名与 hosts 解析配置、系统基础升级、防火墙与 swap 关闭、内核模块加载(overlay、br_netfilter、ip_vs)、网络参数优化(IP 转发、桥接过滤)、时间同步配置等。Ubuntu 24.04 内核 6.8+ 原生支持 eBPF 和 IPVS,无需手动升级内核

幸福街--linux技术分享 210

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC-CTime时间

获得当前日期和时间CTime tm=CTime::GetCurrentTime(); CString str=tm.Format("%Y-%m-%d");在VC中,我们可以借助CTime时间类,获取系统当前日期,具体使用方法如下:CTime t = CTime::GetCurrentTime(); //获取系统日期int d=t.GetDay(); //获得几号int y=t.GetYear();

移动互联网改变生活,高效配对交易创造财富 2249

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VC自动与Internet时间服务器同步更新

在VCKBASE、优快云里挖了许久的坟,才找到一些有点用的资料,最后自己整理出这样的个函数,方面VC实现时间同步,多的不说,自己看源码,根据自己的需要可以适当修改源码: #include #pragma comment (lib,"Ws2_32")struct NTP_Packet{ int Control_Word; int

Koma的主页 8980

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

wince 设置系统时间

WINCE 6.0 系统的时间设置 2011-07-05 15:29 如何在VC里进行系统时间设置 2011-01-24 01:39 1、使用API函数SetLocalTime进行本地时间设置。 1)SetLocalTime函数的原型:

is的专栏 4521

VC中获得当前日期和时间

获得当前日期和时间 CTime tm=CTime::GetCurrentTime(); CString str=tm.Format("%Y-%m-%d"); 在VC中,我们可以借助CTime时间类,获取系统当前日期,具体使用方法如下: CTime t = CTime::GetCurrentTime(); //获取系统日期 int d=t.GetDay(); //获得几号 int y

phenixyf的专栏 1446

ADS开发简介(二) 环境配置和工具使用

    ADS环境配置和工具使用1. 安装ADS(过程略)2. 将ADSRegFiles.dll文件拷贝到ADS安装目录3. VC环境配置        1)创建工程                  2)配制运行路径                    3)包含ADS头文件            4. 运行模拟器    运行模拟器前,需要将系统时间设置为2006年10月(建议设置为2006-1

灯心草的专栏 1374
上一篇: typedef使用大全(指向函数的指针)
下一篇: connect 、recv、send 超时解决方案
WaveYang
博客等级 码龄22年 14粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值