atitit.获取北京时间CST 功能api总结 O7

1. 获取cst时间(北京时间)两布:1.抓取url timtstamp >>format 到cst
1

2. 设置本机时间  setSystime(date);:调用的命令行,只能支持windows和linux系统
2

3. 留意:  1582年10月5日—1582年10月14日。是不存在的..
2

4. 克拉维斯委员会面临两个不同的问题, 太阳年不一致and闰年 3

5. 不同的国家不同样的的历法 3

6. 1582年10月15日之前发生的事件日期不可以将之按现行历法逆推
4

7. 对于确定天数间隔需要删除这10天。。。 4

8. java中对这失去的10天的运算是按照教皇命令的 4

9. 但是java1.6的timestamp是错误的,bug
4

10. ----code 5

11. 参考: 5

1. 获取cst时间(北京时间)两布:1.抓取url timtstamp >>format 到cst

首先,java.util.Date代表一个时间点UTC时间,其值为距公元1970年1月1日 00:00:00的毫秒数。所以它是没有时区和Locale概念的

默认情况下,SimpleDateFormat 取得本地系统的时区 然后按照pattern("yyyy-MM-dd HH:mm:ss")格式化now, 。如果想支持CST时间,则先指定时区,然后再格式化date数据。例如:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));

String snow = sdf.format(now);  // 2009-11-19 14:12:23

另外,你可以通过如下代码修改本地时区信息:

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));

Calendar 的计算也是基于时区的,例如:同一个date在不同时区下的小时数是不一样的。但是calendar.getTime();返回的date是没有时区的,因为它是Date类型的。

URL url=new URL("http://www.bjtime.cn");//取得资源对象

URLConnection uc=url.openConnection();//生成连接对象

uc.connect(); //发出连接

long ld=uc.getDate(); //取得网站日期时间(时间戳)

Date date=new Date(ld); //转换为标准时间对象

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));

System.out.println(DateUtil.toStandFmtYYYYmmDD_hhmmss_byDate(date));

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 设置本机时间  setSystime(date);:调用的命令行,只能支持windows和linux系统

3. 留意:  1582年10月5日—1582年10月14日。是不存在的..

春分在朱利安历法上的日期越来越提前了,这对农时不方便,对教会确定复活节在哪一天更是带来麻烦。

。因为到16世纪,每年11分14秒已经累积成10天,也就是历法上多了10天,这对于确定复活节造成严重困 难,不得不采取措施补救。 16世纪时,教皇格利戈里八世进行了一次校正

为此,格利戈里采取了解决此类难题的最古老最有效的策略----他召集一个委员会,任命一位聪明的主席,即杰出的耶稣会数学家克 利斯多弗·克拉维斯(Christopher Clavius),要求委员会提出解决方案。委员会于1587年开始工作。

。克拉维斯建议用官方声明把这 10天抹掉!教皇格利戈八世于1582年2月24日以教皇训令颁布,将1582年10月5日至14抹掉,于是这10天就消失了,一去不复返。1582年 10月4日过完了,第二天已经是10月15日了

4.  克拉维斯委员会面临两个不同的问题, 太阳年不一致and闰年

第一,朱利安历法现在走快了10天,必须拉回到与太阳年一致。克拉维斯建议用官方声明把这 10天抹掉!教皇格利戈八世于1582年2月24日以教皇训令颁布,将1582年10月5日至14抹掉,于是这10天就消失了,一去不复返。1582年 10月4日过完了,第二天已经是10月15日了,于是历法又回到与太阳年同步。

第二个问题是需要提出历法的补充规则,不让每年多出的11分14秒累积得太多。于是克拉维斯委员会提出一年有365.2422天的方案,这比朱利安历法的365.25天大大接近天体运动实际。据此对朱利安历法只有“四年一闰”的简单规定进行校正:四年一闰,但是世纪之交的’00年,如100年,200年,不闰,即每一百年少闰一次。这样一算,闰年又太少了,于是进一步规定:每四个世纪的世纪之交,即400年,800年等仍是闰

5. 不同的国家不同样的的历法

格利戈里历法很快在罗马天主教势力范围被普遍接受,但是在英国却引起了一片喧嚣的反对声,英国人仍然坚持朱利安历法,拒绝“抹掉10天”。直到1752 年,英国人才想通,理性终于占了上风,不过从1582年到那时,历法又多出了1天,所以英国议会在1752年作出决定,抹掉11天----1752年9月 3日至13日,至此才接受了格利戈里的改革

但是格里高利13世的新历法颁布以后,只有当时的天主教国家意大利、波兰、西班牙葡萄牙开始用新历,1582年10月4日之后跳过10日。由于新历法是教皇颁布的,新教国家予以抵制。直到儒略历1752年9月2日,大英帝国,包括英格兰、苏格兰、以及现在美国的一部份才采纳格里历,于是那天之后就直接从9月2日跳到9月14日,日期跳过11日。



瑞典在1699年计划从儒略历改成公历,预定的办法是取消自1700年至1740年间所有的闰年,即在此期间2月都只有28天,相当于瑞典人打算用四十年的时间来完成别人用两天就可达到的效果。

最后采用公历的东欧国家是希腊,1923年。但全是民间采用——国家教堂都没有接受。

6. 1582年10月15日之前发生的事件日期不可以将之按现行历法逆推

在普通文档中,1582年10月15日之前发生的事件日期仍以当时采用的儒略历日期表示,而不是将之按现行历法逆推。

7. 对于确定天数间隔需要删除这10天。。。

8. java中对这失去的10天的运算是按照教皇命令的

String d1="1582-10-03";

String d2="1582-10-15";

int span=DateUtil.getDayInterval(DateUtil.str2date(d1, false),DateUtil.str2date(d2, false));

System.out.println(span);

输出结果是2天。

9. 但是java1.6的timestamp是错误的,bug

String d1="1582-10-09"; //-12219094800000 ,-12219008400000   -12218922000000

//10-07>>>10-09

10. ----code

11. 参考:

【Java】从网络获取北京时间 - 好想睡觉…… - 博客频道 - CSDN.NET.htm

[转载]1582年10月4日之后的第二天,不是10月5日哦_宾克斯的美酒_新浪博客.htm

关于java Date和时区的问题 - 沙漠海的专栏 - 博客频道 - CSDN.NET.htm

atitit.GMT UTC Catitit.GMT UTC CST DST CET 星期 月份 节日 时间的不同本质and起源 - attilax的专栏 - 博客频道 - CSDN.NET.htm

atitit.获取北京时间CST 功能api总结 O7的更多相关文章

  1. C#获取北京时间与设置系统时间

    获取北京时间 public static DateTime GetBeijingTime() { DateTime dt; // 返回国际标准时间 // 只使用 timeServers 的 IP 地址 ...

  2. 一个 C# 获取高精度时间类(调用API QueryP*)

    如果你觉得用 DotNet 自带的 DateTime 获取的时间精度不够,解决的方法是通过调用 QueryPerformanceFrequency 和 QueryPerformanceCounter这 ...

  3. C#获取获取北京时间多种方法

    #region 获取网络时间 ///<summary> /// 获取中国国家授时中心网络服务器时间发布的当前时间 ///</summary> ///<returns> ...

  4. C# 获取北京时间 (根据纪元时间(1970/1/1)转换为DateTime)

    根据纪元时间(1970/1/1)转换为DateTime WebClient wc = new WebClient(); s= wc.DownloadString("http://api.ti ...

  5. c# 获取北京时间更新本地计算机

    class UpdateDateTime { [DllImport("Kernel32.dll")] private static extern void SetLocalTime ...

  6. delphi 获取北京时间(使用XMLHTTP获取百度的时间,WebBrowser获取www.timedate.cn的时间)

    方法一: uses ComObj, DateUtils; function GetInternetTime: string; var XmlHttp: OleVariant; datetxt: str ...

  7. Delphi 获取北京时间(通过百度和timedate网站)

    方法一: uses ComObj, DateUtils; function GetInternetTime: string; var XmlHttp: OleVariant; datetxt: str ...

  8. js 获取北京时间

    <SCRIPT LANGUAGE = "JavaScript"> var xmlhttp = new ActiveXObject("MSXML2.XMLHTT ...

  9. Unity 获取服务器时间 HTTP请求方式

    在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了...., 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法. 方法总结: 1. 使用HTTP请求获取服务器 ...

随机推荐

  1. oracle常用操作指令

    1.cmd   sqlplus /nolog; 2.conn  sys/  as sysdba; 3.create user query identified by query;//创建用户 4.al ...

  2. AJAX向服务器发送请求

    使用 XMLHttpRequest 对象的 open() 和 send() 方法: 方法 描述 open(method,url,async) 规定请求的类型.URL 以及是否异步处理请求. metho ...

  3. Selenium2+python自动化23-富文本(自动发帖)

    前言 富文本编辑框是做web自动化最常见的场景,有很多小伙伴遇到了不知道无从下手,本篇以博客园的编辑器为例,解决如何定位富文本,输入文本内容 一.加载配置 1.打开博客园写随笔,首先需要登录,这里为了 ...

  4. 设置随处都可以调用tcc的编译环境

    tcc的短小精悍,编译速度快,以及独特的直接运行c代码功能,让tcc成为一个出色的编译器,横跨linux,windows平台. 笔者目前尚处于学习c(ANSI c/ISO c)阶段,为了加强手写代码的 ...

  5. operator

    /*  * 由SharpDevelop创建.  * 用户: jinweijie  * 日期: 2015/10/28  * 时间: 9:15  *   * 要改变这种模板请点击 工具|选项|代码编写|编 ...

  6. ActionScript语言函数重载

    更新:你见过JavaScript支持重载吗,规范就是这么定义的.如果不是研究Java和Flex对象的Serialization,我也不会注意它. 距离写这篇文章已有8年了,时光匆匆啊,今天整理资料时看 ...

  7. Ubuntu设置squid代理

    1.安装squid sudo apt-get install squid 2,修改配置,增加需要使用代理的ip vi命令修改: vi /etc/squid/squid.conf 图形界面编辑 sudo ...

  8. ADB工具常用指令和使用情形分析

    一.ADB常用命令:(不需要进到设备,也就是:不需要执行adb shell) adb devices 列出所有的已连接的设备 adb kill-server 关闭adb adb start-serve ...

  9. hdu 4107

    Gangster Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  10. Java 第三章 选择结构1

    选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...