美国东部时间在UTC-5时区,北京时间是UTC+8时区,正常情况下美东时间比北京时间晚13个小时。需要注意的是美国有夏令时,而北京没有夏令时,美国夏令时时会让时间快一个小时,让人民早起早睡,所以在美国实行夏令时时美东时间比北京时间晚12个小时。

逻辑如上所述,代码如下

复制代码 代码如下:

///

/// AMESTime 的摘要说明:

/// 美东时间的转换

///

/// 美东时间在UTC-5时区,美国有夏时制,即在夏令时启用之后美东时间比起所在时区早一个小时,即UTC-4

/// 在未使用夏令时时美东时间比北京时间(UTC+8时区)晚13个小时,在启用夏令时时美东时间比北京时间晚12个小时

///

///

/// 美国国会2005年通过的能源法案,夏令时时段:从2007年开始每年3月的第二个星期日开始夏令时,结束日期为11月的第一个星期日。

///

public class AMESTime

{

private static DateTime _thisYearDaylightSavingTimeStart,

_thisYearDaylightSavingTimeEnd;

private const int TIMEZONE_OFFSET_DAY_SAVING_LIGHT = -12;

private const int TIMEZONE_OFFSET = -13;

public static DateTime BeijingTimeToAMESTime(DateTime beijingTime)

{

int offsetHours = (IsNowAMESDayLightSavingTime ? TIMEZONE_OFFSET_DAY_SAVING_LIGHT:TIMEZONE_OFFSET);

return beijingTime.AddHours(offsetHours);

}

public static DateTime AMESNow

{

get

{

return BeijingTimeToAMESTime(DateTime.Now);

}

}

///

/// 判断当前日期是否是美国夏令时

/// 从2007年开始每年3月的第二个星期日开始夏令时,结束日期为11月的第一个星期日。

///

/// 是,返回true,否则为false

public static bool IsNowAMESDayLightSavingTime

{

get

{

return DateTime.UtcNow > DayLightSavingStartTimeUtc

&& DateTime.UtcNow < DayLightSavingEndTimeUtc;

}

}

///

/// 夏令时开始时间

///

static DateTime DayLightSavingStartTimeUtc

{

get

{

if(_thisYearDaylightSavingTimeStart.Year != DateTime.Now.Year)

{

DateTime temp = new DateTime(DateTime.Now.Year,3,8,0,0,0);

while(temp.DayOfWeek != DayOfWeek.Sunday)

{

temp = temp.AddDays(1);

}

_thisYearDaylightSavingTimeStart = temp.AddHours(TIMEZONE_OFFSET);

}

return _thisYearDaylightSavingTimeStart;

}

}

///

/// 夏令时结束时间

///

static DateTime DayLightSavingEndTimeUtc

{

get

{

if(_thisYearDaylightSavingTimeEnd.Year != DateTime.Now.Year)

{

DateTime temp = new DateTime(DateTime.Now.Year,11,1,0,0,0);

while(temp.DayOfWeek != DayOfWeek.Sunday)

{

temp = temp.AddDays(1);

}

_thisYearDaylightSavingTimeEnd = temp.AddHours(TIMEZONE_OFFSET_DAY_SAVING_LIGHT);

}

return _thisYearDaylightSavingTimeEnd;

}

}

}

时间: 2013-05-18

美东时间php,解析美国东部时间与北京时间相互转换的实现代码相关推荐

  1. mysql 美东时间格式_C#/.NET怎么样将UTC时间转换成美国东部时间(EST)

    C#/.NET将UTC时间转换成美国东部时间(EST)时,我们需要使用到.NET Framework中与时区有关的TimeZoneInfo类的静态方法:FindSystemTimeZoneById(& ...

  2. Centos7部署ntp服务器同步时间以及直接将本地时间同步为北京时间

    一.查看配置 查看时区列表: timedatectl list-timezones|grep Asia 查看当前时间: date 查看当前设置: [root@localhost ~]# timedat ...

  3. 苹果6发布时间_苹果秋季发布会将在北京时间9月16日举办

    点击上方蓝字,关注我们苹果正式公布了苹果秋季发布会9月16日举办,届时国内可在五大平台上观看直播,据悉本次发布会将发布的产品有iPhone.ipad和Apple Watch等系列新品,那么这场发布会可 ...

  4. php时区改美东,美国东部时间与北京时间换算(美国中国时间换算器)

    美国东部时间1.29日 晚上七点到晚上八点 北京时间!! 艾薇儿在网上和fans. 目前的美国东部时间,比我们慢13个小时,比如现在我们是下午两点,那么他们是当天的凌晨1点.对于你说的东部时间晚上7点 ...

  5. 美国东部时间和中国的时差

    美国东部时间和中国的时差13个小时 因为美国东.中.西部与中国都有时差,且时间不一样,以美国东部时间为例:11月20日上午7点,中国时间为11月20日晚上20点.(西部16小时时差,中部14小时时差) ...

  6. 美国春季计算机博士入学的学校,美国春季博士留学申请时间规划

    智课选校帝小编整理美国春季博士留学申请时间规划,希望对准备留学美国春季博士们有所帮助. 4月制定美国博士留学规划:对于自己的学术背景优势劣势有个准备定位,参加语言培训,考试,比如TOEFL ,GMAT ...

  7. UTC时间 GMT时间 本地时间 北京时间 时区 夏令时简要说明

    1.UTC时间 与 GMT时间 整个地球分为二十四时区,每个时区都有自己的本地时间.为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated). ...

  8. UTC时间 GMT时间 本地时间 北京时间 时区 夏令时简要说明

    1.UTC时间 与 GMT时间 整个地球分为二十四时区,每个时区都有自己的本地时间.为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated). ...

  9. UTC时间与北京时间的差多久

    https://zhidao.baidu.com/question/584155849371920925.html 经常混淆于此,特地研究了一下,记录在此以备忘. 整个地球分为二十四时区,每个时区都有 ...

最新文章

  1. 使用Python,OpenCV从图像中删除轮廓
  2. 刷了半年LeetCode,总共500题,拿到了 Google 的 special offer,记下笔记,感谢这些很有用的公众号...
  3. .NET基础 (05)内存管理和垃圾回收
  4. C++11获取double类型的最大最小值
  5. 【sas proc sql】coalesce
  6. GirlView的分页
  7. 大专一年级计算机考试题,(大专一年级语文期中考试试卷.doc
  8. 每天一道LeetCode-----有序数组右移n位后查找某个元素
  9. Spring boot 默认日志配置
  10. excel 某个单元格不是等于空值_这些稀奇古怪的符号,却是Excel高手们常玩的!...
  11. 上传文件的input问题以及FormData特性
  12. [react] react中遍历时为什么不用索引作为唯一的key值?
  13. 字符串处理,查询第一个不是 0 的字符的位置
  14. 数据库安全之数据掩码:SQL新功能之动态数据掩码(SQL2016AZURE SQL)
  15. [转载] python中numpy包使用方法总结
  16. 嵌入式系统——指令操作扩展
  17. 【KDD 2020】会话推荐系统新进展:基于互信息最大化的多知识图谱语义融合
  18. linux之awk命令获取最后一列
  19. win10电脑显示无法自动修复此计算机,win10系统无法自动修复此计算机的操作步骤...
  20. java p12证书,如何使用已安装的.p12 证书在 Mac OS X 上签名 jar?

热门文章

  1. 下载音频到本地 (ximalaya)
  2. html制作简易时钟
  3. 武汉生物工程学院计算机专业怎么样,武汉生物工程学院就业率怎么样(含好就业的专业)...
  4. then在c语言中什么意思,then 放在句末可以表示”然后“的意思吗?
  5. linux有线网卡驱动
  6. mysql ceiling_mysql ceil() /ceiling()函数实例 - ceil
  7. [第24课] 二项分布的期望值
  8. 您的电脑遇到问题需要重启 我们只是收集(5步解决)
  9. 一道类型转换题(from:byr)
  10. JQuery 基础(1)—— 基本介绍、选择器、筛选器(选择器的一种)