获取美国东部夏令时的SQL

yibey 2010-11-04 03:24:59
如题。在美国05年颁布了夏令时,也就是在一年中的会有2个时间。那么问题是如果我服务器在中国,我通过一个SQL语句如何获得当前美国的东部的夏令时
...全文
346 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yibey 2010-11-10
  • 打赏
  • 举报
回复
楼上有人说是夏令时的开始时间和结束时间。他们是这样的好像是11月的第2个周日(还有个好像是3月份的)。难道你 现在就开始吧他们所有的夏令时转换日期算出来么。所以我用了另一种方法,不过还是谢谢各位了
billpu 2010-11-04
  • 打赏
  • 举报
回复
夏令时是蛮讨厌的问题,我记得我们小时候夏令时上学老是早到,结束的时候晚到,不过也好,给迟到多了一个理由 老师也没有办法
王向飞 2010-11-04
  • 打赏
  • 举报
回复
那就写死在数据库表里啊,做一张夏令表?
yibey 2010-11-04
  • 打赏
  • 举报
回复
7楼你的方法不对哦。假设你不知道服务器在哪里(因为服务器可能会经常被迁移),你怎么办。而且你没考虑到夏令时
Mr_Nice 2010-11-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dawugui 的回复:]

引用楼主 yibey 的回复:
如题。在美国05年颁布了夏令时,也就是在一年中的会有2个时间。那么问题是如果我服务器在中国,我通过一个SQL语句如何获得当前美国的东部的夏令时

这个?
1、知道时区(或北京的时差)。
2、夏令时是从什么时候开始,什么时候结束。
[/Quote]

同,有这两个条件即可。
王向飞 2010-11-04
  • 打赏
  • 举报
回复
declare @d datetime
set @d=dateadd(hh,-8,@d)

反正就是时区操作,或者你建一个对照表,把关键时区或美国时区作成一张日历表模式的。
yibey 2010-11-04
  • 打赏
  • 举报
回复
谢谢大家的这些,这些东东都不错。来点实际的SQL函数,让对比下,我想找一个好一点的方案
dawugui 2010-11-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 yibey 的回复:]
如题。在美国05年颁布了夏令时,也就是在一年中的会有2个时间。那么问题是如果我服务器在中国,我通过一个SQL语句如何获得当前美国的东部的夏令时
[/Quote]
这个?
1、知道时区(或北京的时差)。
2、夏令时是从什么时候开始,什么时候结束。
claro 2010-11-04
  • 打赏
  • 举报
回复
如果是table定义,应该选择datetimeoffset。

如果是语句查询得到,你要知道时区,不同地区的时区也不一样。
如北京标准时间现在是10月5号晚上10点,则
美国东岸标准时间是10月5号上午10点
美国中部标准时间是10月5号上午9点
美国山岳标准时间是10月5号上午8点
美国太平洋标准时间是10月5号上午7点

billpu 2010-11-04
  • 打赏
  • 举报
回复
呵呵 一样的问题
从2007/03/12凌晨2点开始,今年美国东部的夏令时正式开始,要持续到11月的第一个星期天早晨2点。
以往美国的夏令时是从4月的第一个星期天开始,到10月的最后一个星期天结束。基于2005年布什总统签署的关于节约能源的法令,从今年就是2007年开始,夏令时将延长3个星期,就是从3月的第二个星期天开始,到11月的第一个星期天结束。

--小F-- 2010-11-04
  • 打赏
  • 举报
回复
是通过怎么样的一个关系来转换的呢
王向飞 2010-11-04
  • 打赏
  • 举报
回复
根据时区,看差多少个时区,减去小时数就可以了,或者转换成格林威治时间,算时间差。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧