请问用MonthCalendar可以修改系统时间吗?

pentiumyun 2007-04-06 01:25:11
能否把选中的时间设置成系统时间呢?请那位高手回答我一下
...全文
311 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
pentiumyun 2007-04-06
  • 打赏
  • 举报
回复
哈哈,搞定了,谢谢各位了
pentiumyun 2007-04-06
  • 打赏
  • 举报
回复
读取你选定的时间:
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
this.monthCalendar1.SelectionStart.ToString();
}
------------------------------------------------------------------------------------
这位大哥我刚刚用你这个试了一下,你这个可以读出几号,但是年份跟月份却读不出来呀
lihuafei666 2007-04-06
  • 打赏
  • 举报
回复
下面是C#设置本机系统时间的类,在世界不同时区都可以用,非常简单!!!!!!!!
public class SysDateTime
{
[StructLayout(LayoutKind.Sequential)]
public struct SystemTime
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMiliseconds;
}
[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime( ref SystemTime sysTime );
[DllImport("Kernel32.dll")]
public static extern void GetSystemTime(ref SystemTime sysTime);

public static void Set(DateTime dateTime)
{
DateTime dtUnivr = dateTime.ToUniversalTime();
SystemTime sysTime = new SystemTime();
sysTime.wYear = (ushort)dtUnivr.Year;
sysTime.wMonth = (ushort)dtUnivr.Month;
sysTime.wDay = (ushort)dtUnivr.Day;
sysTime.wHour = (ushort)dtUnivr.Hour;
sysTime.wMinute = (ushort)dtUnivr.Minute;
sysTime.wSecond = (ushort)dtUnivr.Second;
sysTime.wMiliseconds = (ushort)dtUnivr.Millisecond;
SetSystemTime(ref sysTime);
}
public static void Set(int Year,int Month,int Day,int Hour,int Minute,int Second)
{
Set(new DateTime(Year,Month,Day,Hour,Minute,Second));
}
}

sz709 2007-04-06
  • 打赏
  • 举报
回复
读取你选定的时间:
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
this.monthCalendar1.SelectionStart.ToString();
}
晓疯馋曰 2007-04-06
  • 打赏
  • 举报
回复
Value 不可以读你选择的日期吗?
---涛声依旧--- 2007-04-06
  • 打赏
  • 举报
回复
我所接觸到的日曆控件沒有此功能
要另外寫哦
pentiumyun 2007-04-06
  • 打赏
  • 举报
回复
大家辛苦了,但是你们都误会我的意思了,我的意思是:如果我在控件里面选定了一个日期2002-01-01(日期是任意选定的)我怎么把这个2002-01-01给读出来,并把它设置成系统时间,问题的关键不是设置系统时间,而是怎么把这个时间给读出来
晓疯馋曰 2007-04-06
  • 打赏
  • 举报
回复
[DllImport("kernel32.dll", EntryPoint="SetLocalTime")]
public static extern int SetLocalTime (
ref SYSTEMTIME lpSystemTime
);
不好意思,函数定义改成这个.
晓疯馋曰 2007-04-06
  • 打赏
  • 举报
回复
using System.Runtime.InteropServices;

public struct SYSTEMTIME
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMilliseconds;
}

[DllImport("coredll.dll")]
public extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime);

// Set the clock ahead one hour
SYSTEMTIME st = new SYSTEMTIME();
st.wYear=youtdat.Year;
....
SetSystemTime(ref st);
Eri 2007-04-06
  • 打赏
  • 举报
回复
复杂点就是调用WMI接口,

简单点的就是启动一个CMD来使用Net Time命令。
pentiumyun 2007-04-06
  • 打赏
  • 举报
回复
有可能使我没表达明白我的意思,我现在问题的关键不是说调用那个函数是设置系统时间,而是怎么样能把控件里面任意选的一个时间值做为参数传到SetSystemTime或SetLocalTime里面去
CathySun118 2007-04-06
  • 打赏
  • 举报
回复
you函数SetLocalTime可以
pentiumyun 2007-04-06
  • 打赏
  • 举报
回复
SetSystemTime这个我会用,但是我在MonthCalendar控件里任意选一个时间后,怎么把这个时间作为参数传到SetSystemTime里面去呢,MonthCalendar里面用什么属性或方法可以得到任意选中的时间?
pentiumyun 2007-04-06
  • 打赏
  • 举报
回复
楼上的大哥,可能您没理解我的意思,我的意思的怎么在MonthCalendar控件里选定一个日期,然后再把这个日期设定为系统的日期
江城老温 2007-04-06
  • 打赏
  • 举报
回复
什么意思?
DateTime.Now就是系统时间
Red_angelX 2007-04-06
  • 打赏
  • 举报
回复
能否把选中的时间设置成系统时间呢
-------------------------
选定后掉用API SetSystemTime

BOOL SetSystemTime(
const SYSTEMTIME* lpSystemTime
);
Jinwmmail 2007-04-06
  • 打赏
  • 举报
回复
请参考:

http://www.z6688.com/info/35413-1.htm
pentiumyun 2007-04-06
  • 打赏
  • 举报
回复
没有高手肯帮小弟么,我是个菜鸟,麻烦高手多多指点

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧