根据这个字符串 2007-04-09T18:20:54.3100000+08:00  
设置系统时间 主要是设置时区。
小弟在线等。 

解决方案 »

  1.   

    using System;
     using System.Globalization; 
     
    public class MainClass { 
        public static void Main(string[] args)  {
            DateTime dt = DateTime.Now;
            String[] format = {
                "d", "D",
                "f", "F",
                "g", "G",
                "m",
                "r",
                "s",
                "t", "T",
                "u", "U",
                "y",
                "dddd, MMMM dd yyyy",
                "ddd, MMM d \"'\"yy",
                "dddd, MMMM dd",
                "M/yy",
                "dd-MM-yy",
            };
            String date;
            for (int i = 0; i < format.Length; i++) {
                date = dt.ToString(format[i], DateTimeFormatInfo.InvariantInfo);
                Console.WriteLine(String.Concat(format[i], " :" , date));
            }
      
       /** Output.
        *
        * d :08/17/2000
        * D :Thursday, August 17, 2000
        * f :Thursday, August 17, 2000 16:32
        * F :Thursday, August 17, 2000 16:32:32
        * g :08/17/2000 16:32
        * G :08/17/2000 16:32:32
        * m :August 17
        * r :Thu, 17 Aug 2000 23:32:32 GMT
        * s :2000-08-17T16:32:32
        * t :16:32
        * T :16:32:32
        * u :2000-08-17 23:32:32Z
        * U :Thursday, August 17, 2000 23:32:32
        * y :August, 2000
        * dddd, MMMM dd yyyy :Thursday, August 17 2000
        * ddd, MMM d "'"yy :Thu, Aug 17 '00
        * dddd, MMMM dd :Thursday, August 17
        * M/yy :8/00
        * dd-MM-yy :17-08-00
        */
        }
    }
    这是MSDN中的方法。你可以参考参考,ToString()方法基本可以满足你的要求
      

  2.   

    只有用Win32API函数SetSystemTime来实现,具体代码   
      using   System;   
        
      namespace   SetupDate   
      {   
              public   class   TestSetupSysTime   
              {   
                      [DllImport("kernel32.dll")]   
                      public   static   extern   void   SetSystemTime(System.DateTiem   lpSystemTime);   
        
                      public   static   void   Main(string[]   args)   
                    {   
                                  DateTime   tim   =   new   DateTime(2004,3,26);   //   2004年3月26日   
                                  SetSystemTime(tim);   
                    }   
              }   
      } 
      

  3.   

    using   System;   
      using   System.Runtime.InteropServices;   
        
      [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;   
      }   
        
      public   class   Win32   
      {   
      [DllImport("Kernel32.dll")]   
      public   static   extern   bool   SetSystemTime(   ref   SystemTime   sysTime   );   
      [DllImport("Kernel32.dll")]   
      public   static   extern   void   GetSystemTime(ref   SystemTime   sysTime);   
      }   
        
      public   class   TestPInvoke   
      {   
      public   static   void   Main()   
      {   
      SystemTime   sysTime   =   new   SystemTime();   
        
      sysTime.wYear   =   2003;   
      sysTime.wMonth=1;   
      sysTime.wDay=1;   
      sysTime.wHour=1;   
      sysTime.wMinute=1;   
      sysTime.wSecond=1;   
      sysTime.wMiliseconds=1;   
        
      Win32.SetSystemTime(ref   sysTime);   
      }   
      }   
    ---------
    这个好使
      

  4.   


    public   static   extern   void   GetSystemTime(ref   SystemTime   sysTime);   
    一个api函数
    GetSystemTime 取得当前系统时间,这个时间采用的是"协同世界时间"(即UTC,也叫做GMT)格式public   static   extern   bool   SetSystemTime(   ref   SystemTime   sysTime   );   
    同样是api函数,设置时间格式为ref参数systemtime类,systemtime参数的项不用我解释了把
      

  5.   

    发错了,刚才是设置时间的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());   
          }
      

  6.   

    http://www.pinvoke.net/default.aspx/kernel32.SetTimeZoneInformation如果你英语还行的话就看看这个链接