如次亦可
class app
    {
[ StructLayout( LayoutKind.Sequential )]
public class SystemTime 
{
public short year;
public short Month; 
public short DayOfWeek; 
public short Day; 
public short Hour; 
public short Minute; 
public short Second; 
public short Milliseconds;
                   }
[ DllImport( "Kernel32.dll" )]
public static extern bool SetSystemTime( [In,Out] SystemTime st )
        public static int Main(String[] args) 
        {
          SystemTime tt=new SystemTime;
          //设置时间 到 tt中  
          if(app.SetSystemTime(tt))Console.WriteLine("success");
         }

解决方案 »

  1.   

    为什么设置小时时。
    要用现在的tt.Hour-8才能得到正确时间?????????
    请指点一下???
      

  2.   

    if(st.Hour>=12)
    {
    st.Hour-=(short)8;
    }
    else if(st.Hour>=8)
    {
    st.Hour-=(short)8;
    }
    else
    {
    st.Hour+=(short)16;
    }
    好像只有这样才能得到正确时间呀!
    高手可否指点一下!谢谢了。
      

  3.   

    贴主。
    我用了whyornot(薛明忠) (  ) 说的方法。以成功修改了。
    只是在设置Hour; 是要像我说的那样加下列语句:
    if(st.Hour>=12)
    {
    st.Hour-=(short)8;
    }
    else if(st.Hour>=8)
    {
    st.Hour-=(short)8;
    }
    else
    {
    st.Hour+=(short)16;
    }
    才能得到正确的小时数。
    好运!!!!!!!!