在ARM板子上可以获取UTC格林尼治时间,怎么转换成当地时间(波兰华沙旅游攻略)

知道,才能算出那里的时间。 C语言可以算出你的当地时间和UTC(格林尼治时间),用你的计算机本身的设置。给出时区,就可推算。 中国北京时间是东八区。美国西7区。冰岛=格林尼治时间。 下面程序计算美国凤凰城,中国北京,和冰岛时间: #include &stdio.h& #include &time.h& #define MST (-7) #define UTC (0) #define CCT (+8) int main () { time_ tm * time ( &rawtime ); ptm = gmtime ( &rawtime ); puts (&Current time around the World:&); printf (&Phoenix, AZ (U.S.) : %2d:%02d\n&, (ptm-&tm_hour+MST)%24, ptm-&tm_min); printf (&Reykjavik (Iceland) : %2d:%02d\n&, (ptm-&tm_hour+UTC)%24, ptm-&tm_min); printf (&Beijing (China) : %2d:%02d\n&, (ptm-&tm_hour+CCT)%24, ptm-&tm_min); return 0; }
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
(1)(2)(1)(1)(1)(4)(1)(2)(1)(1)(4)(3)(13)(63)(54)(6)(9)lanlfeng 的BLOG
用户名:lanlfeng
文章数:31
评论数:28
访问量:187504
注册日期:
阅读量:3223
阅读量:15080
[匿名]alex:
[匿名]http://www.doxer.org:
51CTO推荐博文
首先我们了解一下时间的相关概念,以及之间的区别,需要了解的时间概念有:本地时间(locale time)格林威治时间(Greenwich Mean Time GMT)时间协调时间 (Universal Time Coordinated UTC)& 本地时间,显而易见不用解释了& 先看看时间的标准:(1)世界时
世界时是最早的时间标准。在1884年,国际上将1s确定为全年内每日平均长度的1/8.64×104。以此标准形成的时间系统,称为世界是,即
UT1。1972年国际上开始使用国际原子时标,从那以后,经过格林威治老天文台本初子午线的时间便被称为世界时,即UT2,或称格林威治时间
(GMT),是对地球转速周期性差异进行校正后的世界时。 (2)原子时
1967年,人们利用铯原子振荡周期极为规律的特性,研制出了高精度的原子时钟,将铯原子能级跃迁辐射周所经历的时间定为
1s。现在用的时间就是1971年10月定义的国际原子时,是通过世界上大约200多台原子钟进行对比后,再由国际度量衡局时间所进行数据处理,得出的统
一的原子时,简称TAI。 (3)世界协调时
世界协调时是以地球自转为基础的时间标准。由于地球自转速度并不均匀,并非每天都是精确的86400原子s,因而导致了自转时间与世界时之间存在
18个月有1s的误差。为纠正这种误差,国际地球自转研究所根据地球自转的实际情况对格林威治时间进行增减闰s的调整,与国际度量衡局时间所联合向全世界
发布标准时间,这就是所谓的世界协调时(UTC:Coordinatde Universal
Time)。UTC的表示方式为:年(y)、月(m)、日(d)、时(h)、分(min)、秒(s),均用数字表示。& GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时,以此计算即可& 通过上面的了解,我们可以认为格林威治时间就是时间协调时间(GMT=UTC),格林威治时间和UTC时间均用秒数来计算的。&& 而在我们平时工作当中看到的计算机日志里面写的时间大多数是用UTC时间来计算的,那么我们该怎么将UTC时间转化为本地时间便于查看日志,那么在作程序开发时又该怎么将本地时间转化为UTC时间呢?&& 下面就介绍一个简单而使用的工具,就是使用linux/unix命令date来进行本地时间和local时间的转化。&& 大家都知道,在计算机中看到的utc时间都是从(日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。&& & 以我的FC9平台为例:&&& 1.使用date命令获得本地时间Mon Jan& 5 21:06:48 CST 2009&& 2.将本地易理解的时间转化为UTC时间,使用date 命令,对该时间进行UTC格式化date +%s -d "Mon Jan& 5 21:06:48 CST 2009"返回的结果是: #自日0:00:00起到今天晚上21:06:48共秒& 这就是我们所说的UTC或者格林威治时间。&& 3.使用命令date将难以理解的UTC时间转化成为容易理解的本地时间在这里,我们随便将上面这个格林威治时间修改一下来进行转化即可,比如<span id="reply_content_date -d " UTC <span id="reply_content_ sec"返回结果是:Mon Jan& 5 12:47:08 CST 2009& #是今天中午12:47:08& 4.使用date命令将本地时间进行格式化date +%X -d "Mon Jan& 5 12:47:08 CST 2009"返回结果:12:47:08 PMdate +%x +%X -d "Mon Jan& 5 12:47:08 CST 2009"返回结果是:01/05/:08 PMdate +'%x %X %W' -d "Mon Jan& 5 12:47:08 CST 2009"返回结果:01/05/:08 PM 01&& #01是星期一,如果是%w,返回的是1date +'%Y-%m-%d %H:%M:%S %W' -d "Mon Jan& 5 12:47:08 CST 2009"返回结果是: 12:47:08 01对UTC时间的进行格式化:date +‘%x %X' -d " UTC <span id="reply_content_ sec"返回结果:01/05/:08 PMdate命令还有很多格式化的参数,功能很强大,大家可以使用"man date"或者"info date"来作参考。对于windows的朋友没有linux环境,没有办法进行时间转化,推举一个网址可以作时间转化:本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
23:53:21 23:55:28UTC与本地时间转换函数 - 下载频道 - CSDN.NET
&&&&UTC与本地时间转换函数
&UTC与本地时间转换函数
自实现的UTC时间与本地时间的转换(这里只转换成了UTC0区,要到自己的时区自己加上偏移.同时实现了UTC到本地时间的转换和本地时间到UTC时间转换.
UTC时间使用的是32位整型实现.没有使用64位.因此只能存储约132年之间的时间.
同时附上一个UTC转换工具.便于对比UTC时间转换是否正确.
工具会把时间自动从UTC时间转换成年月日后进行时区校正.因此如果想要结果一致.请把系统时间(windows)调整为UTC0区.
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
评价资源返积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
积分不够下载该资源
如何快速获得积分?
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
UTC与本地时间转换函数
所需积分:3
剩余积分:
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
VIP服务公告:现在位置:
今天想让板子在开机的时候自动去同步网络上的时间,网上查了一下,需要使用到ntpdate命令。但是我使用的文件系统(busybox制作的文件系统)没有该命令,所以移植了一下。由于移植ntpdate需要用到openssl的头文件和库,所以也移植了openssl。
PC系统:Ubuntu Ubuntu 10.04.4 LTS
1. 创建工作目录
1mkdir crossCompileDir
2. 获取openssl和ntpdate源码
我是直接使用apt-get来获取源码的,也可以去官网下载: www.ntp.org 和 www.openssl.org
123cd crossCompileDir
apt-get source ntpdate
apt-get source openssl
3. 移植openssl
12cd openssl-1.0.1
mkdir /opt/crossCompileInstallDir/openssl-1.0.1 -p
123NM=arm-linux-gnueabihf-nm AR=arm-linux-gnueabihf-ar \
RANLIB=arm-linux-gnueabihf-ranlib CC=arm-linux-gnueabihf-gcc \
./config no-asm shared --prefix=/opt/crossCompileInstallDir/openssl-1.0.1
然后修改Makefile,将里面的-m64全部去掉(两个地方)
INSTALL_PREFIX=/opt/crossCompileInstallDir/openssl-1.0.1
不然make install 的时候不对
编译 不能使用多线程编译,否则会报错的!
make install
需要处理一下:
12mv /opt/crossCompileInstallDir/openssl-1.0.1/opt/crossCompileInstallDir/openssl-1.0.1* /opt/crossCompileInstallDir/openssl-1.0.1
rm -rf /opt/crossCompileInstallDir/openssl-1.0.1/opt
4. 移植ntpdate命令(ntpdate在ntp软件包中)
12cd ../ntp-4.2.6.p3+dfsg/
mkdir /opt/crossCompileInstallDir/ntp-4.2.6.p3+dfsg
123CC=arm-linux-gnueabihf-gcc ./configure --prefix=/opt/crossCompileInstallDir/ntp-4.2.6.p3+dfsg \
--host=arm-linux-gnueabihf --with-openssl-libdir=/opt/crossCompileInstallDir/openssl-1.0.1/lib \
--with-openssl-incdir=/opt/crossCompileInstallDir/openssl-1.0.1/include
make install
5. 板子上使用
将移植出来的文件拷贝到板子上的对应目录中。然后使用,出现了一下错误:
1234ntpdate -u ntp.api.bz
Error resolving ntp.api.bz: Servname not supported for ai_socktype &#40;-8&#41;
&5 Mar 17:55:22 ntpdate&#91;211&#93;: Can't find host ntp.api.bz: Servname not supported for ai_socktype (-8)
&5 Mar 17:55:22 ntpdate[211]: no servers can be used, exiting
解决办法是将以下两行内容:
12ntp & & & & & & 123/tcp
ntp & & & & & & 123/udp
写进/etc/services文件中,就可以了使用命令同步网络时间了。
但是还有一个问题,同步出来的时间和所在的时区不对,如下所示:
12345ntpdate -u ntp.api.bz
&5 Mar 09:58:05 ntpdate&#91;217&#93;: adjust time server 61.153.197.226 offset -0.010535 sec
#使用date命令可以看到是UTC(协调世界时)的时间的
Thu Mar &5 09:58:35 UTC 2015
设置时区:
从pc机上拷贝/usr/share/zoneinfo/Asia/Hong_Kong (或者使用 Shanghai Chongqing)到板子上的对应位置,然后再 cp /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime,或者做一个软连接即可。
再次同步时间:
12345ntpdate -u ntp.api.bz
&5 Mar 18:06:10 ntpdate&#91;221&#93;: adjust time server 61.153.197.226 offset -0.018679 sec
Thu Mar &5 18:06:24 HKT 2015
6. 添加开机同步网络时间
将命令ntpdate -u ntp.api.bz添加到/etc/profile文件中即可。
当然想要开机同步网络时间,前提是板子开机起来就直接可以上网。
路有多远,人可以走多远 ……
2015年十月
11121314151617
18192021222324
25262728293031Android 从格林尼治标准时间毫秒为单位) 获取 UTC 毫秒
我有时间变量在格林尼治标准时间,我会将转换使用 utc 时间表示。我人邮编...
long mytime = 0;
Date date = new Date(mytime);
String time = new SimpleDateFormat("HH:mm").format(date);
这个回报率 "13:15" 在一些设备中,但要始终 utc 日期: "11:15" 。我能做到的?谢谢。
解决方法 1:
也不清楚你在期望什么区别 UTC 与 GMT 之间-为目的我们谈论在这里,他们是等效。(他们不相当技术上相同的但......)
格式,你只需在您格式化程序上设置的时区:
// TODO: Consider setting a locale explicitly
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
format.setTimeZone(TimeZone.getTimeZone("UTC"));
String time = format.format(date);

我要回帖

更多关于 格林尼治时间 utc 的文章

 

随机推荐