应用Datetime能不能修时间
例如
string time = Encoding.ASCII.GetString(“2011-09-27 08:09:10”);
怎样才能把系统时间改为2011年9月27日 8点9分10秒??
例如
string time = Encoding.ASCII.GetString(“2011-09-27 08:09:10”);
怎样才能把系统时间改为2011年9月27日 8点9分10秒??
解决方案 »
- 这个小程序怎么写
- DevExpress.XtraGrid.GridControl手动添加行的问题
- 新手问:关于数组保存的问题?
- 大家来给大脑活动一下,四则运算算法
- 雪地裸体跪求在WinForms中如何用DataGridView处理对象绑定的问题,再解决不了只好自刎了....
- tabControl 控件不能隐藏一个tabpage,如何解决啊?
- comboBox控件 如何做到,只让用户选择,不让用户填写?
- ******如何在windows应用中通过验证后,将身份密码等信息传给浏览器SESSION(网页)??******
- .NET 下, windows ce 下线程如何中断?
- 连接SQL SERVER时的问题
- 如何申请内存 和结构指针赋值的问题 不知道描述的对不对
- 求助:如何设置一个表格,并可点去单元格以不同颜色区分
可以用API来做:
[StructLayout (LayoutKind.Sequential)]
public struct SYSTEMTIME
{
public short Year;
public short Month;
public short DayOfWeek;
public short Day;
public short Hour;
public short Minute;
public short Second;
public short Miliseconds;
}
//api函数声明
[DllImport ("kernel32.dll", CharSet=CharSet.Ansi)]
public extern static bool SetSystemTime(ref SYSTEMTIME time); private void button1_Click(object sender, System.EventArgs e)
{
//调用代码
SYSTEMTIME t = new SYSTEMTIME ();
t.Year = 2000;
t.Month = 1;
t.Day = 2;
t.Hour = 12-8; //这个函数使用的是0时区的时间,对于我们用+8时区的,时间要自己算一下.如要设12点,则为12-8
t.Minute = 5;
bool v = SetSystemTime(ref t);
Console.WriteLine(v.ToString());
}
C# code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;namespace setDateTime
{
class SystemDateTime
{
[DllImport("Kernel32.dll")]
public static extern bool SetLocalTime(ref SystemTime sysTime); [DllImport("Kernel32.dll")]
public static extern void GetLocalTime(ref SystemTime sysTime);
} [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;
}
}
然后是你的文件:
C# code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace setDateTime
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
DateTime dt = DateTime.Now.AddDays(-5);
this.Text = Form1.SetSysTime(dt).ToString(); } public static bool SetSysTime(DateTime newdatetime)
{
SystemTime st = new SystemTime();
st.wYear = (ushort)(newdatetime.Year - 1);
st.wMonth = (ushort)newdatetime.Month;
st.wDayOfWeek = (ushort)3;
st.wDay = (ushort)newdatetime.Day;
st.wHour = (ushort)(newdatetime.Hour - 2);
st.wMinute = (ushort)newdatetime.Minute;
st.wSecond = (ushort)newdatetime.Second;
st.wMiliseconds = (ushort)newdatetime.Millisecond;
return SystemDateTime.SetLocalTime(ref st);
}
}
}