C# 怎么将北京时间转换为美国太平洋时间?

解决方案 »

  1.   


    时间.AddHours(这里填差的小时数);
      

  2.   

    在中国,无论你在东南西北哪个角落,都习惯于一个时间,那就是北京时间。正像广播电台的播音:“嘟…嘟…嘟…,北京时间十二点整”。 
    在美国则不然,不以美国首都华盛顿特区时间为准,而是把自东海岸至西海岸4517公里的地段(美国本土),划分为四个时区。 
    一、东部时区——EASTERN TIME(ET) 
    华盛顿特区、纽约、波士顿、亚特兰大、费城、迈阿密等在此时区。北京时间为东部时间加十三个小时。 
    二、中部时区——CENTRAL TIME(CT) 
    芝加哥、圣路易斯、新奥尔良、休斯顿等在此时区。北京时间为中部时间加十四个小时。 
    三、山地时区——MOUNTAIN TIME(MT) 
    丹佛、凤凰城、盐湖城等在此时区。北京时间为山地时间加十五个小时。 
    四、太平洋时区——CENTRAL TIME(CT) 
    洛杉矶、旧金山、圣地亚哥、拉斯维加斯、西雅图等在此时区。北京时间为 
    太平洋时间加十六个小时。 
    另外,夏威夷和阿拉斯加为第五时区,太平洋时间减两个小时即为夏威夷和阿拉斯加时间。 
    美国的夏时制从每年四月份的第一个星期日凌晨零点开始(时钟拨前一小 
    时),每年十月份的最后一个星期日凌晨零点结束(时钟拨后一小时)。亚利桑那州、印第安娜州、夏威夷州不使用夏时制。差16个小时
      

  3.   

    北京是        GMT +08:00
    太平洋时间是:GMT -08:00
    如果只是要把北京时间换算成美太平洋时间:
    DateTime dt = new DateTime();//北京时间
                DateTime newdt = new DateTime();
                newdt = dt.AddHours(16);//美太平洋时间
      

  4.   

    涉及到时区问题的,建议系统的所有时间采用UTC时间作为标准,包括数据库中的记录时间等等。显示的时候根据本地时区进行转化之后显示。