第二章 坐标系统和时间系统

第二章 坐标系统和时间系统
第二章 坐标系统和时间系统

第二章 坐标系统和时间系统

2.1 天球坐标系和地球坐标系

2.1.1天球坐标系

天球坐标系是利用基本星历表的数据把基本坐标系固定在天球上,星历表中列出一定数量的恒星在某历元的天体赤道坐标值,以及由于岁差和自转共同影响而产生的坐标变化。常用的天球坐标系:天球赤道坐标系、天球地平坐标系和天文坐标系。

在天球坐标系中,天体的空间位置可用天球空间直角坐标系或天球球面坐标系两种方式来描述。

1. 天球空间直角坐标系的定义

地球质心O 为坐标原点,Z 轴指向天球北极,X 轴指向春分点,Y 轴垂直于XOZ 平面,与X 轴和Z 轴构成右手坐标系。则在此坐标系下,空间点的位置由坐标(X ,Y ,Z )来描述。

2.天球球面坐标系的定义

地球质心O 为坐标原点,春分点轴与天轴所在平面为天球经度(赤经)测量基准——基准子午面,赤道为天球纬度测量基准而建立球面坐标。空间点的位置在天球坐标系下的表述为(r ,α,δ)。

天球空间直角坐标系与天球球面坐标系的关系可用图2-1表示:

图2-1 天球直角坐标系与球面坐标系

对同一空间点,天球空间直角坐标系与其等效的天球球面坐标系参数间有如下转换关系:

2.1.2地球坐标系

地球坐标系有两种几何表达方式,即地球直角坐标系和地球大地坐标系。

1.地球直角坐标系的定义

地球直角坐标系的定义是:原点O 与地球质心重合,Z 轴指向地球北极,X

轴指向地球赤道面与格林尼治子午圈的交

cos cos sin cos (21)

sin X r Y r Z r αδαδδ=?

?

=-?

?=

?

arctan(/)(22)

arctan(/r Y X Z αδ?

=??

=-?

=

点,Y 轴在赤道平面里与XOZ 构成右手坐标系。

2.地球大地坐标系的定义

地球大地坐标系的定义是:地球椭球的中心与地球质心重合,椭球的短轴与地球自转轴重合。空间点位置在该坐标系中表述为(L ,B ,H )。

地球直角坐标系和地球大地坐标系可用图2-2表示:

图2-2 地球直角坐标系和大地坐标系

对同一空间点,直角坐标系与大地坐标系参数间有如下转换关系:

式中,,N 为该点的卯酉圈曲率半径;,分别为该大地坐标系

对应椭球的长半径和第一偏心率。

2.1.3站心赤道直角坐标系与站心地平直角坐标系

1.站心赤道直角坐标系

如图2-3,P 1 是测站点,O 为球心。以O 为原点建立球心空间直角坐标系。以P 1 为原点建立与相应坐标轴平行的坐标系叫站心赤道直角坐标系。

显然,同坐标系有简单的平移关系:

()2

()cos cos ()cos sin (23)

(1)sin X N H B L

Y N H B L

Z N e H B ?=+??=+?-????=-+???

?

{}

2

2

arctan(/)

arctan ()(1))](24)

/sin (1)L Y X B Z N H N e H H Z B N e ?=??=+-+-?

?=--??

B e a N 2

2sin 1/-=2222

/)(a b a e -=e a ,XYZ O -XYZ O -_

__

1Z Y X P -_

__

1Z Y X P -XYZ O -__2_()cos cos ()cos sin (2-5)

(1)sin X X N H B L Y N H B L Y Z N e H B Z ??

??+??????

????==+?

?????????????-+????????????

2.站心地平直角坐标系

以P 1 为原点,以P 1 点的法线为z 轴(指向天顶为正),以子午线方向为x 轴(向北为正),y 轴与x ,z 垂直(向东为正)建立的坐标系叫站心地平直角坐标系。

站心地平直角坐标系与站心赤道直角坐标系的转换关系如下:

代入(2-4)可得出站心左手地平直角坐标系与球心空间直角坐标系的转换关系式:

3.站心地平极坐标系

以测站P 1为原点,用测站P 1至卫星s 的距离r 、卫星的方位角A 、卫星的高度角h 为参数建立的与站心地平直角坐标

系P 1-xyz 相等价的坐标系称为站心地平极坐标系P 1-rAh 。

站心地平极坐标系与站心地平直角坐标系的关系为:

())

52(sin 0cos sin cos cos sin sin cos cos sin cos sin P B -90R L 180R y y z ___-??

??

?

?????---=??????????-=??????????????B B L B L L B L B L L B z y x Z Y X 地平站赤

)()

72(sin ])1([sin cos )(cos cos )(sin 0cos sin cos cos sin sin cos cos sin cos sin 2-????

?

?????+-+++????

?

???????????????---=??????????B H e N L B H N L B H N z y x B B L B L L B L B L L B Z Y X

2.1.4卫星测量中常用坐标系

1.瞬时极天球坐标系与地球坐标系

瞬时极天球坐标系:原点位于地球质心,z 轴指向瞬时地球自转方向(真天极),x 轴指向瞬时春分点(真春分点),y 轴按构成右手坐标系取向。

瞬时极地球坐标系:原点位于地球质心,z 轴指向瞬时地球自转轴方向,x 轴指向瞬时赤道面和包含瞬时地球自转轴与平均天文台赤道参考点的子午面之交点,y 轴构成右手坐标系取向。

瞬时极天球坐标系与瞬时极地球坐标系的关系如图2-4所示。

2.固定极天球坐标系——平天球坐标系

由于瞬时极天球坐标系的坐标轴指向不断变化,对研究卫星的运动很不方便,需要建立一个三轴指向不变的天球坐标系——平天球坐标系。即选择某一历元时刻,以此瞬间的地球自转轴和春分点方向分别扣除此瞬间的章动值作为z 轴和x 轴指向,y 轴按构成右手坐标系取向,坐标系原点与真天球坐标系相同。瞬时极天球坐标系与历元平天球坐标系之间的坐标变换通过下面两次变换来实现。

(1)岁差旋转变换

ZM (t 0)表示历元J2000.0年平天球坐标系z 轴指向,ZM (t )表示所论历元时刻t 真天球坐标系z 轴指向。由于岁差导致地球自转轴的运动使二坐标系z 轴产生夹角θA ;同理,因岁差导致春分点的运动使二坐标系的x 轴XM(t 0)与XM(t)产生夹角ζA ,Z A 。通过旋转变换得到这样两个坐标系间的变换式为:

cos cosh sin cosh (28)

sinh tan(/)(29)

tan(/x r A y r A z r r A arc y x h arc z =??

=-??=?

?=??

=-??=??

式中:ζA ,θA ,Z A 为岁差参数。

(2)章动旋转变换

类似地有章动旋转变换式:

式中:ε为所论历元的平黄赤交角,⊿ψ,⊿ε分别为黄经章动和交角章动参数。

3. 固定极地球坐标系——平地球坐标系

(1)极移:地球瞬时自转轴在地球上随时间而变,称为地极移动,简称极移。

(2)瞬时极:与观测瞬间相对应的自转轴所处的位置,称为该瞬时的地球极轴,相应的极点称为瞬时极。依瞬时地球自转轴定向的坐标系称为瞬时极地球坐标系。

(3)国际协定原点CIO :采用国际上5个纬度服务站的资料,以1900.00至1905.05年地球自转轴瞬时位置的平均位置作为地球的固定极称为国际协定原点CIO 。平地球坐标系的z 轴指向CIO 。

(4)平地球坐标系:取平地极为坐标原点,z 轴指向CIO ,x 轴指向协定赤道面与格林尼治子午线的交点,y 轴在协定赤道面里,与xoz 构成右手系统而成的坐标系统称为平地球坐标系。

平地球坐标系与瞬时地球坐标系的转换公式:

下标em 表示平地球坐标系,et 表示t 时的瞬时地球坐标系, 为t 时刻以角度表示的极移值。 4、坐标系的两种定义方式与协议坐标系

通常,理论上坐标系的定义过程是先选定一个尺度单位,然后定义坐标原点的位置和坐标轴的指向。实际应用中,在已知若干测站点的坐标值后,通过观测又可反过来定义该坐标系。前一种方式称为坐标系的理论定义。而由一系列已知测站点所定义的坐标系称为协定坐标系。

0()()

()()()(211)

z A y A z A M t M t x x y R Z R R y z z θξ????????=---????????????()()

()()()(212)

x z x c t M t x x y R R R y z z εεψε????????=--?-?-????????????()()(213)

y p x p em et

x x y R x R y y z z ????

????

''''=--??

?????????

?p

p y x '''',

2.2 WGS-84坐标系和我国大地坐标系

2.2.1 WGS-84坐标系

WGS-84的定义:WGS-84是修正NSWC9Z-2参考系的原点和尺度变化,并旋转其参考子午面与BIH定义的零度子午面一致而得到的一个新参考系,WGS-84坐标系的原点在地球质心,Z轴指向BIH1984.0定义的协定地球极(CTP)方向,X 轴指向BIH1984.0的零度子午面和CTP赤道的交点,Y轴和Z、X轴构成右手坐标系。它是一个地固坐标系。

WGS-84椭球及其有关常数:WGS-84采用的椭球是国际大地测量与地球物理联合会第17届大会大地测量常数推荐值,其四个基本参数

长半径:a=6378137±2(m);

地球引力常数:GM=3986005×108m3s-2±0.6×108m3s-2;

正常化二阶带谐系数:C20=-484.16685×10-6±1.3×10-9;

J2=108263×10-8

地球自转角速度:ω=7292115×10-11rads-1±0.150×10-11rads-1

建立WGS-84世界大地坐标系的一个重要目的,是在世界上建立一个统一的地心坐标系。

2.2.2 国家大地坐标系

1.1954年北京坐标系(BJ54旧)

坐标原点:前苏联的普尔科沃。

参考椭球:克拉索夫斯基椭球。

平差方法:分区分期局部平差。

存在问题:(1)椭球参数有较大误差。

(2)参考椭球面与我国大地水准面存在着自西向东明显的系统性倾斜。

(3)几何大地测量和物理大地测量应用的参考面不统一。

(4)定向不明确。

2.1980年国家大地坐标系(GDZ80)

坐标原点:陕西省泾阳县永乐镇。

参考椭球:1975年国际椭球。

平差方法:天文大地网整体平差。

特点:(1)采用1975年国际椭球。

(2)参心大地坐标系是在1954年北京坐标系基础上建立起来的。

(3)椭球面同似大地水准面在我国境内最为密合,是多点定位。

(4)定向明确。

(5)大地原点地处我国中部。

(6)大地高程基准采用1956年黄海高程。

3.新1954年北京坐标系(BJ54新)

新1954年北京坐标系(BJ54新)是由1980年国家大地坐标系(GDZ80)转换得来的。

坐标原点:陕西省泾阳县永乐镇。 参考椭球:克拉索夫斯基椭球。 平差方法:天文大地网整体平差。 BJ54新的特点 :

(1)采用克拉索夫斯基椭球。

(2)是综合GDZ80和BJ54旧 建立起来的参心坐标系。

(3)采用多点定位。但椭球面与大地水准面在我国境内不是最佳拟合。 (4)定向明确。

(5)大地原点与GDZ80相同,但大地起算数据不同。 (6)大地高程基准采用1956年黄海高程。

(7)与BJ54旧 相比,所采用的椭球参数相同,其定位相近,但定向不同。 (8) BJ54旧 与BJ54新 无全国统一的转换参数,只能进行局部转换。

2.2.3 地方独立坐标系

在生产实际中,我们通常把控制网投影到当地平均海拔高程面上,并以当地子午线作为中央子午线进行高斯投影建立地方独立坐标系。地方独立坐标系隐含一个与当地平均海拔高程对应的参考椭球——地方参考椭球。地方参考椭球的中心、轴向和扁率与国家参考椭球相同,其长半径则有一改正量。

设地方独立坐标系位于海拔高程为h 的曲面上,该地方的大地水准面差距为ζ,则该曲面离国家参考椭球的高度为:

又由独立坐标系的定义知:

于是,地方参考椭球和国家参考椭球的关系可以表述为:

)142(-+=ζ

h dN )152(//-=a

da N dN 0000

(216)0

00

(217)(218)

(/)(219)

x y z L L X Y Z da dN N a a a da

εεεαα

===-===-=-=?=+-中心一致:

轴向一致:

扁率相等:

长半径有一增量:

2.3 坐标系统之间的转换

2.3.1 不同空间直角坐标系统之间的转换

进行不同空间直角坐标系统之间的坐标转换,需要求出坐标系统之间的转换参数。转换参数一般是利用冲核电的两套坐标值通过一定的数学模型进行计算。当重合点数为三个以上时,可以采用布尔莎七参数法进行转换。

设X Di 和X Gi 分别为地面网点和GPS 网点的参心和地心坐标向量。由布尔莎模型可知:

式中,是平移参数矩阵,k 是尺度变化参数。

为三维空间直角坐标变换的三个旋转角,也称欧勒角,与它相对应的旋转矩阵分别为:

一般

为微小转角,可取:

于是可化简为:

)

202()()()()1(-++?=G i

z y x D i X R R R k X X εεε),,(),,,(),,,(Z Y X X Z Y X X Z Y X X G i G i G i G i D i D i D i D i ???=?==Z Y X εεε,,?????

?????-=X X

X X

X R εεεεεcos sin 0sin cos 00

01

)(??

???

?????-=Y Y Y Y Y R εεεεεcos 0sin 010sin 0cos )(??

???

?????-=1000cos sin 0sin cos )(Z Z Z Z Z R εεεεε)()()(0

Z Y X R R R R εεε=???????

???

+-+++--=Y X Z Y X Z X Z Y X Z X Y X Z Y X Z X Z Y X Z X Y Z Y Z Y R εεεεεεεεεεεεεεεεεεεεεεεεεεεεεcos cos sin sin cos cos sin cos sin cos sin sin cos sin sin sin sin cos cos cos sin sin sin cos sin sin cos cos cos 0Z Y X εεε,,0sin sin sin sin sin sin sin ,sin ,sin 1cos cos cos =========Z Y Z X Y X Z

Z Y Y X X Z Y X εεεεεεεεεεεεεεε?????

?????---=1110X

Y

X Z

Y Z

R εεεεεε

上式称微分旋转矩阵 相应的转换公式为:

2.3.2不同大地坐标系的转换

对于不同大地坐标系的换算,除包含三个平移参数、三个旋转参数和一个尺度变化参数外,还包括两个地球椭球元

素变化参数。不同大地坐标系的换算公式为:

上式通常称为广义大地坐标微分公式或广义变换椭球微分公式。如略去旋转参数和尺度变化参数的影响,即简化为一般的大地坐标微分公式。根据3个以上公共点的两套大地坐标值,可列出9个以上方程,可按最小二乘法求得8个转换参数。

2.3.3大地坐标系和空间大地直角坐标系的换算

大地坐标系和空间大地直角坐标系的换算,是生产实践中经常遇到的问题,由L ,B 和H 解算X ,Y ,Z 可由公式直接解算;由X ,Y ,Z 解算L ,B ,H 一般用迭代解法或直接解法。

)

212(000)1(-????

?

????????+????????????????????---+??????????+=??????????Z Y X Z Y X Z Y X k Z Y X Gi Gi Gi X

Y

X Z Y Z

Gi Gi Gi Di Di Di εεεεεε000sin cos 0

()cos ()cos sin cos sin sin cos cos cos cos sin sin L L

N H B N H B dL X B L B L B dB Y M H

M H M H

dH Z B L B L

B ρρρρρ?

?''

''

-??

++?

??????

??????''''

''=--???????+++??????

?????

?????

??????

????????????

?????

??

''''---+Z Y X L B B Ne L B B Ne L L L tgB L tgB εεερρ0cos cos sin sin cos sin 0cos sin 1sin cos 2

2m H B e N B B e H M N ??????????+-''+-+)sin 1(cos sin 0222ρ)

222(sin )sin 1(1)sin 1(cos sin )1)(()

sin 2(cos sin )(0

02

2222222-??

???????????

?

?

??????

?----''-+-''++ααραρd da B B e M B e a N

B B H M B e M B B e a H M N

2.4 时间系统

2.4.1 恒星时ST

定义:以春分点为参考点,由它的周日视运动所确定的时间称为恒星时。

计量时间单位:恒星日、恒星小时、恒星分、恒星秒;

一个恒星日=24个恒星小时=1440个恒星分=86400个恒星秒

分类:真恒星时和平恒星时。

2.4.2 平太阳时MT

定义:以平太阳作为参考点,由它的周日视运动所确定的时间称为平太阳时。

计量时间单位:平太阳日、平太阳小时、平太阳分、平太阳秒;

一个平太阳日=24个平太阳小时=1440平太阳分=86400个平太阳秒

平太阳时与日常生活中使用的时间系统是一致的,通常钟表所指示的时刻正是平太阳时。

2.4.3 世界时UT

定义:以平子午夜为零时起算的格林尼治平太阳时定义为世界时UT。

2.4.4 原子时IAT

原子时是以物质内部原子运动的特征为基础建立的时间系统。

原子时的尺度标准:国际制秒(SI)。

原子时的原点由下式确定:AT=UT2-0.0039(s)

2.4.5 协调世界时UTC

为了兼顾对世界时时刻和原子时秒长两者的需要建立了一种折衷的时间系统,称为协调

世界时UTC。根据国际规定,协调世界时UTC的秒长与原子时秒长一致,在时刻上则要求尽可量与世界时接近。协调时与国际原子时之间的关系,如下式所示:

IAT=UTC+1s×n (n 为调整参数)

2.4.6 GPS时间系统GPST

GPST属于原子时系统,它的秒长即为原子时秒长,GPST的原点与国

际原子时IAT相差19s。有关系式:

IAT-GPST=19(s)

GPS时间系统与各种时间系统的关系见图2-6所示:

C获取系统时间及时间格式

1、新建一个windows form 窗体应用程序。 2、在该窗体加载时,输入如下代码 [csharp] view plaincopy Thread P_thread = new Thread( () => //lambda表达式(参数列表)=>{执行语句} lambda表达式是比匿名方法更加简洁的一种匿名函数语法 { while (true) {//public Object Invoke (Delegate method)在(拥有此控件的基础窗口句柄的)线程上执行指定的委托。 //关于为何使用invoke方法,参见C#中跨线程调用控件的线程安全性方法一文 this.Invoke( (MethodInvoker)delegate()//methodinvoke 表示一个委托,该委托可执行托管代码中声明为void 且不接受任何参数的任何方法。 //在对控件的Invoke 方法进行调用时或需要一个简单委托又不想自己定义时可以使用该委托。 { this.Refresh(); Graphics P_Graphics = CreateGraphics(); // Control.CreateGraphics方法,为控件创建Graphics。 //public Graphics CreateGraphics () 返回值为控件的Graphics。Graphics 类提供将对象绘制到显示设备的方法 //public void DrawString( // string s, // Font font, // Brush brush, // PointF point //)在指定位置point并且用指定的Brush 和Font 对象绘制指定的文本字符串s。 P_Graphics.DrawString("系统时间:" + DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒"), new Font("宋体", 15), Brushes.Blue, new Point(10, 10)); });//this.invoke Thread.Sleep(1000); }//while

(武汉大学大地测量学课件)第二章 坐标系统与时间系统

1 2.1 地球的运动 从不同的角度,地球的运转可分为四类: 天文学的基本概念(预备知识) –与银河系一起在宇宙中运动 –在银河系内与太阳一起旋转 –与其它行星一起绕太阳旋转(公转) –地球的自转(周日视运动) 第二章坐标与时间系统

2 预备知识 z 天球的基本概念 所谓天球,是指以地球质心O 为中心,半径r 为任意长度的一个假想的球体。在天文学中,通常均把天体投影到天球的球面上,并利用球面坐标来表达或研究天体的位置及天体之间的关系。 建立球面坐标系统,如图2-1所示. z 参考点、线、面和园

图2-1 天球的概念 3

4 天轴与天极 地球自转轴的延伸直线为天轴,天轴与天球的交点P N 和P S 称为天极,其中P N 称为北天极,P S 为南天极。 天球赤道面与天球赤道 通过地球质心O 与天轴垂直的平面称为天球赤道面。天球赤道面与地球赤道面相重合。该赤道面与天球相交的大圆称为天球赤道。 天球子午面与子午圈 含天轴并通过任一点的平面,称为天球子午面. 天球子午面与天球相交的大园称为天球子午圈。

时圈 通过天轴的平面与天球相交的大圆均称为时圈。 黄道 地球公转的轨道面(黄道面)与天球相交的大园称为黄道。 黄道面与赤道面的夹角称为黄赤交角,约为23.5度。 黄极 通过天球中心,且垂直于黄道面的直线与天球的交点,称为黄极。其中靠近北天极的交点称为北黄极,靠近南天极的交点称为南黄极。 5

6 春分点与秋分点 黄道与赤道的两个交点称为春分点和秋分点。视太阳在黄道上从南半球向北半球运动时,黄道与天球赤道的交点称为春分点,用γ表示。 在天文学中和研究卫星运动时,春分点和天球赤道面,是建立参考系的重要基准点和基准面 赤经与赤纬 地球的中心至天体的连线与天球赤道面的夹角称为赤纬,春分点的天球子午面与过天体的天球子午面的夹角为赤经。

wincc系统日期时间获取

wincc系统日期时间获取 系统时间的获得,有两种办法,一是建立TAG,二是使用函数获取系统时间 方法一: 在[Tag Management]添加新的驱动"System Info.chn",然后在新添加的[SYSTEM INFO]新建连接,这样就可以创建实际TAG了; 下面新建几个TAG: 名字:date, 数据类型:text tag 8-bit character set,地址设定为Function:date,format:"MM-DD-YYYY" 名字:time, 数据类型:text tag 8-bit character set,地址设定为Function:Time,format:"HH:MM:SS" 根据上面的方法依次建立year,mon,day,week等TAG,请分别设置对应的format内容 TAG建立完成了,就可以读到系统时间了。新建一个图形文件,分别放置几个静态文本框[static text],把TEXT属性连接到上面新建的TAG,就可以显示系统日期时间,利用WEEK还能显示今天是星期几了. 方法二: 使用 C脚本获得系统时间 #include "apdefap.h" char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { time_t timer;

struct tm *ptm; char *p; time(&timer); ptm=localtime(&timer); p=SysMalloc(9); sprintf(p,"%04d:%02d:%02d",ptm->tm_year+1900,ptm->tm_mon+1,p tm->tm_mday); return(p); } 其中 //系统时间已经获得 //年: ptm -> tm_year+1900 //月: ptm-> tm_mon+1 //日: ptm -> tm_mday //星期: ptm -> tm_wday *注意这个,tm_wday返回的是整数,必须经过转换才能用来表示星期几

labView中如何获取windows当前系统时间

labView中如何获取windows当前系统时间 《labview8.2入门到精通》的PPT,第4章里面有个练习是“写一个VI获取当前系统时间,并将其转换为字符串和浮点数”。完成效果如图。我要怎么来获取当前系统的时间呢? 程序如下,还是比较简单的,用到的函数都在编程---定时和编程---数值---转换里 问题: 我从一个仪器当中读取到了GPS时间,并想在LabVIEW中以较高的分辨率设定Windows系统时间。我注意到LabVIEW的时间函数选版中有获取时间/日期的VI,但没有设定时间的VI。如何才能在LabVIEW中实现时间设定?

解答: LabVIEW中没有现成的VI用于系统时间设定,但可以通过Windows SDK来实现。参考以下的步骤,通过调用库函数节点的方式,调用kernel32.dll中SetSystemTime函数,可以设定系统时间: 1. 在程序框图中放置一个调用库函数节点。双击此节点打开调用 库函数对话框。 2. 点击浏览按钮并选择kernel32.dll (一般放置于 "C:\WINDOWS\system32\kernel32.dll")。 3. 在函数名下拉列表中选择"SetSystemTime" 。 4. 在调用规范下拉列表中选择"stdcall (WINAPI)" 。 5. 在返回类型中选择“数值”以及“有符号8位整数”。 6. 点击添加参数并在类型中选择“匹配至类型”,接着在数据格式 中选择“句柄指针”。 7. 点击确定按钮,完成对调用库函数节点的配置。 8. 这个函数以一个包含八个双字节(16位整数)的结构体作为参 数。在LabVIEW中,需要创建一个包含八个双字节的簇来传 递这个参数。八个双字节分别为年、月、星期、日、小时、分 钟、秒以及毫秒。将此簇连接至调用库函数节点的参数1。 9. 输入相应的值,并运行程序以设定系统时间。

第二章_坐标系、基准和坐标系统方案

第二章坐标系、基准和坐标系统 测量的基本任务就是确定物体在空间中的位置、姿态及其运动轨迹。而对这些特征的描述都是建立在某一个特定的空间框架和时间框架之上的。所谓空间框架就是我们常说的坐标系统,而时间框架就是我们常说的时间系统。 第1节地球的形状 一、地球的自然表面 所谓地球的自然表面就是指地球的物理表面。 二、地球的质量和重力 三、大地水准面 大地水准面 四、参考椭球 五、投影 第2节坐标系统 一个完整的坐标系统是由坐标系和基准两方面要素所构成的。坐标系指的是描述空间位置的表达形式,而基准指的是为描述空间位置而定义的一系列点、线、面。在大地测量中的基准一般是指为确定点在空间中的位置,而采用的地球椭球或参考椭球的几何参数和物理参数,及其在空间的定位、定向方式,以及在描述空间位置时所采用的单位长度的定义。 一、坐标系的分类 正如前面所提及的,所谓坐标系指的是描述空间位置的表达形式,即采用什么方法来表

示空间位置。人们为了描述空间位置,采用了多种方法,从而也产生了不同的坐标系,如直角坐标系、极坐标系等。在测量中,常用的坐标系有以下几种: ?空间直角坐标系 空间直角坐标系的坐标系原点位于参考椭球的中心,Z轴指向参考椭球的北极,X轴指向起始子午面与赤道的交点,Y轴位于赤道面上,且按右手系与X轴呈90 夹角。某点在空间中的坐标可用该点在此坐标系的各个坐标轴上的投影来表示。(见图1) 图1 空间直角坐标系 ?空间大地坐标系 空间大地坐标系是采用大地经度(L)、大地纬度(B)和大地高(H)来描述空间位置的。纬度是空间的点与参考椭球面的法线与赤道面的夹角,经度是空间中的点与参考椭球的自转轴所在的面与参考椭球的起始子午面的夹角,大地高是空间点沿参考椭球的法线方向到参考椭球面的距离。 图2 空间大地坐标系 ?平面直角坐标系 平面直角坐标系是利用投影变换,将空间坐标(空间直角坐标或空间大地坐标)通过某种数学变换映射到平面上,这种变换又称为投影变换。投影变换的方法有很多,如UTM

C#获取当前系统时间

C#获取当前系统时间 2010-01-02 16:24 --DateTime 数字型 System.DateTimecurrentTime=new System.DateTime(); 取当前年月日时分秒 currentTime=System.DateTime.Now; 取当前年 int 年=currentTime.Year; 取当前月 int 月=currentTime.Month; 取当前日 int 日=currentTime.Day; 取当前时 int 时=currentTime.Hour; 取当前分 int 分=currentTime.Minute; 取当前秒 int 秒=currentTime.Second; 取当前毫秒 int毫秒=https://www.360docs.net/doc/804538696.html,lisecond; (变量可用中文) 取中文日期显示——年月日时分 string strY=currentTime.ToString("f"); //不显示秒 取中文日期显示_年月 string strYM=currentTime.ToString("y"); 取中文日期显示_月日 string strMD=currentTime.ToString("m"); 取当前年月日,格式为:2003-9-23 string strYMD=currentTime.ToString("d"); 取当前时分,格式为:14:24 string strT=currentTime.ToString("t"); DateTime.Now.ToString();//获取当前系统时间完整的日期和时间DateTime.Now.ToLongDateString();//只显示日期 xxxx年xx月xx日,一个是长日期 DateTime.Now.ToShortDateString();//只显示日期 xxxx-xx-xx 一个是短日期 //今天 DateTime.Now.Date.ToShortDateString(); //昨天的 DateTime.Now.AddDays(-1).ToShortDateString(); //明天的 DateTime.Now.AddDays(1).ToShortDateString(); //本周(注意这里的每一周是从周日始至周六止) DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString(); DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString(); //上周,上周就是本周再减去7天 DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();

VC 获取当前时间

VC++中其实还是通过调用它自带的CTime类来完成的获取当前系统时间的,我们做一个小程序来了解这个过程吧!对话框里只有两个显示框和两个按钮,点下按钮显示当前时间。就这么一个小程序。 (1)建立应用程序外壳 创建一个新的AppWizard项目,命名为shiyan,选择Dialog based;其他都选用默认属性,单击Finish完成生成应用程序的步骤。进入对话框界面以后,按下图所示布置显示框和功能按钮。 (2)设置参数 其中上面的显示文本框设为CString型,命名为m_show,ID号为IDC_show。下面的显示文本框设为CString型,命名为m_show1,ID号为IDC_show1。 (3)编译程序 start键程序: void CDate1Dlg::Onstart() { //count=0; SetTimer(1,1000,NULL); // TODO: Add your control notification handler code here

} stop键程序: void CDate1Dlg::Onstop() { KillTimer(1); // TODO: Add your control notification handler code here } (4)增加计时器控件 View -> ClassWizard -> MessageMaps -> CUse progressDlg,加入WM_TIMER函数,编辑程序: void CDate1Dlg::OnTimer(UINT nIDEvent) { if(nIDEvent==1) { // count++; UpdateData(1); CTime mtime=CTime::GetCurrentTime();//获取当前时间 char i; CString w; i=char (mtime.GetDayOfWeek()); //获取当前时间的天数是这个星期的第几天,这里要注意了,系统上默认的一个星期的第一天是星期日,最后一天是周六,大家千万不要搞错了。我也是试了才知道的。 switch(i)//将数字状换成字符就不会出现星期7这种情况了 { case 2:

c++ 简单获取系统时间

C++获取时间方法有多种,其中比较实用的是localtime函数 我们来看下下面这个范例 struct tm t; //tm结构指针 time_t nowT; //声明time_t类型变量 time(&nowT); //获取系统日期和时间 t = localtime( &nowT); //获取当地日期和时间 printf("%4d年%02d月%02d日%02d:%02d:%02d\n", t.tm_year + 1900, t.tm_mon + 1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec); //格式化输出本地时间 该方法是调用了localtime函数进行时间获取,使用时得包含time.h头文件 #include 但是在vs上不少人会遇到编译器的报错提示,要求把localtime换成localtime_s 解释是为了安全性 如果出现这种情况我们只要改一行代码即可 t = localtime( &nowT); 改为localtime_s( &t,&nowT); 如果想要一次性输出日期与时间,那我们就要用到asctime函数 struct tm t; //tm结构指针 time_t nowT; //声明time_t类型变量 time(&nowT); //获取系统日期和时间 t = localtime( &nowT); //获取当地日期和时间 char TIMET[32]; TIMET = asctime(,&t); printf("now is: %s\n",TIMET ); 如诺出现vs的编译器报错,那只需要改成这样既可 struct tm t; //tm结构指针 time_t nowT; //声明time_t类型变量 time(&nowT); //获取系统日期和时间 localtime_s(&t, &nowT); //获取当地日期和时间 char TIMET[32]; asctime_s(TIMET, &t); printf("now is: %s\n",TIMET);

PHP获取系统当前时间date函数

PHP获取系统当前时间date函数.txt偶尔要回头看看,否则永远都在追寻,而不知道自己失去了什么。男人掏钱是恋人关系,女人掏钱是夫妻关系,男女抢着掏钱是朋友关系。男人爱用眼睛看女人,最易受美貌迷惑;女人爱用心看男人,最易受伤心折磨。使用函式 date() 实现 显示的格式: 年-月-日小时:分钟:秒 相关时间参数: a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" D - 星期几,三个英文字母; 如: "Fri" F - 月份,英文全名; 如: "January" h - 12 小时制的小时; 如: "01" 至 "12" H - 24 小时制的小时; 如: "00" 至 "23" g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12" G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23" i - 分钟; 如: "00" 至 "59" j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31" l - 星期几,英文全名; 如: "Friday" m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12" n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12" M - 月份,三个英文字母; 如: "Jan" s - 秒; 如: "00" 至 "59" S - 字尾加英文序数,二个英文字母; 如: "th","nd" t - 指定月份的天数; 如: "28" 至 "31" U - 总秒数 w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六) Y - 年,四位数字; 如: "1999" y - 年,二位数字; 如: "99" z - 一年中的第几天; 如: "0" 至 "365" 可以自由设定显示的内容,连接符号或是显示位置,例如date("m-d H") 或者date("dmY");?>等php中的日期处理 加入时间:2004-12-18 17:35:22 大小:12 KB 阅读次数:1405PHP中的日期处理 转贴:xiaxia 日期:2004-05-26 人气:9 我正打算用PHP编写一种帮助处理系统。我发现我必须知道处理完最后一位客户的问题后已经过去了多长时间?当我过去用ASP时解决这个问题相当简单,ASP有相应的函数 DateDiff 可以给出两个日期间间隔多少月、多少天和多少秒。当我搜寻完PHP手册后我发现PHP并没

C语言获取当前系统时间的几种方式

C语言中如何获取时间?精度如何? 1 使用time_t time( time_t * timer ) 精确到秒 2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒 3 计算时间差使用double difftime( time_t timer1, time_t timer0 ) 4 使用DWORD GetTickCount() 精确到毫秒 5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒 6 要获取高精度时间,可以使用 BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency) 获取系统的计数器的频率 BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount) 获取计数器的值 然后用两次计数器的差除以Frequency就得到时间。 7 Multimedia Timer Functions The following functions are used with multimedia timers. timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime //********************************************************************* //用标准C实现获取当前系统时间的函数 一.time()函数 time(&rawtime)函数获取当前时间距1970年1月1日的秒数,以秒计数单位,存于rawtime 中。#include "time.h" void main () { time_t rawtime; struct tm * timeinfo; time ( &rawtime );

vc++获取系统时间和程序运行时间

内容: Q:如何获取时间?精度如何? A: 1 使用time_t time( time_t * timer ) 精确到秒 计算时间差使用double difftime( time_t timer1, time_t timer0 ) 2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒 3 使用DWORD GetTickCount() 得到的是系统运行的时间精确到毫秒 4 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒 5 要获取高精度时间,可以使用 BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)获取系统的计数器的频率 BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)获取计数器的值 然后用两次计数器的差除以Frequency就得到时间。 6 还有David的文章中提到的方法: Multimedia Timer Functions The following functions are used with multimedia timers. timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime timeGetTime/timeKillEvent/TimeProc/timeSetEvent 精度很高 Q:GetTickCount()函数,说是毫秒记数,是真的吗,还是精确到55毫秒? A: GetTickCount()和GetCurrentTime()都只精确到55ms(1个tick就是55ms)。如果要精确到毫秒,应该使用timeGetTime函数或QueryPerformanceCounter函数。具体例子可以参考QA001022 "VC++中使用高精度定时器"、QA001813 "如何在Windows实现准确的定时"和QA004842 "timeGetTime函数延时不准"。 Q:vc++怎样获取系统时间,返回值是什么类型的变量呢? GetSystemTime返回的是格林威志标准时间 GetLocalTime,和上面用法一样,返回的是你所在地区的时间,中国返回的是北京时间VOID GetSystemTime( LPSYSTEMTIME lpSystemTime // address of system time structure ); 函数就可以获得了,其中LPSYSTEMTIME 是个结构体 含:年,月,日,周几,小时,分,秒,毫秒。 以下是Time的MSDN文档: Compatibility in the Introduction. Libraries LIBC.LIBSingle thread static library, retail versionLIBCMT.LIBMultithread static library, retail versionMSVCRT.LIBImport library for MSVCRT.DLL, retail version Return Value time returns the time in elapsed seconds. There is no error return. Parameter timer Storage location for time Remarks

第二章 坐标系统和时间系统

第二章 坐标系统和时间系统 2.1 天球坐标系和地球坐标系 2.1.1天球坐标系 天球坐标系是利用基本星历表的数据把基本坐标系固定在天球上,星历表中列出一定数量的恒星在某历元的天体赤道坐标值,以及由于岁差和自转共同影响而产生的坐标变化。常用的天球坐标系:天球赤道坐标系、天球地平坐标系和天文坐标系。 在天球坐标系中,天体的空间位置可用天球空间直角坐标系或天球球面坐标系两种方式来描述。 1. 天球空间直角坐标系的定义 地球质心O 为坐标原点,Z 轴指向天球北极,X 轴指向春分点,Y 轴垂直于XOZ 平面,与X 轴和Z 轴构成右手坐标系。则在此坐标系下,空间点的位置由坐标(X ,Y ,Z )来描述。 2.天球球面坐标系的定义 地球质心O 为坐标原点,春分点轴与天轴所在平面为天球经度(赤经)测量基准——基准子午面,赤道为天球纬度测量基准而建立球面坐标。空间点的位置在天球坐标系下的表述为(r ,α,δ)。 天球空间直角坐标系与天球球面坐标系的关系可用图2-1表示: 图2-1 天球直角坐标系与球面坐标系 对同一空间点,天球空间直角坐标系与其等效的天球球面坐标系参数间有如下转换关系: 2.1.2地球坐标系 地球坐标系有两种几何表达方式,即地球直角坐标系和地球大地坐标系。 1.地球直角坐标系的定义 地球直角坐标系的定义是:原点O 与地球质心重合,Z 轴指向地球北极,X 轴指向地球赤道面与格林尼治子午圈的交 cos cos sin cos (21) sin X r Y r Z r αδαδδ=? ? =-? ?= ? arctan(/)(22) arctan(/r Y X Z αδ? =?? =-? =

VS2010 MFC 获取当前系统时间

1.使用CTime类 CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime(); str=tm.Format("现在时间是%Y年%m月%d日%X"); MessageBox(str,NULL,MB_OK); 2: 得到系统时间日期(使用GetLocalTime) SYSTEMTIME st; CString strDate,strTime; GetLocalTime(&st); strDate.Format("%4d-%2d-%2d",st.wYear,st.wMonth,st.wDay); strTime.Format("%2d:%2d:%2d",st.wHour,st.wMinute,st.wSecond); 3.使用GetTickCount//获取程序运行时间 long t1=GetTickCount();//程序段开始前取得系统运行时间(ms) Sleep(500); long t2=GetTickCount();//程序段结束后取得系统运行时间(ms) str.Format("time:%dms",t2-t1);//前后之差即程序运行时间AfxMessageBox(str);//获取系统运行时间 long t=GetTickCount(); CString str,str1; str1.Format("系统已运行%d时",t/3600000); str=str1; t%=3600000; str1.Format("%d分",t/60000); str+=str1; t%=60000; str1.Format("%d秒",t/1000); str+=str1; AfxMessageBox(str);

第二章 天球与天球坐标系

第二章天球与天球坐标系 传统天文航海以太阳、月亮、行星和恒星(统称为天体,详见第十二章)为导航信标,获取天体的准确位置是开展天文航海的前提条件。在天文航海、球面天文学等领域,通常基于天球的概念,通过建立天球坐标系定义天体的位置。 本章详细介绍天球、天球基准点线圆、天球坐标系、天体位置坐标和天文三角形等概念,同时介绍基本的天球作图方法。 第一节天球与天球基准点线圆 作为研究天文航海问题的平台和工具,天球及其基准点线圆是航海人员必备的基本知识。 一、天球 夜间仰观天空,总感到天 空好象一个巨大的空心半球笼 罩在头顶上,而且不论我们如 何移动,总处于这个巨大的空 心半球的球心。分布在无限广 阔的宇宙中的所有天体,虽然 距离我们远近各异,都好像散 布在这个空心球的内表面上。 在天文学中,将这一感觉 上的空心球体作为研究天体直 观位置和运动规律的一种辅助 工具,并定义为天球。也就是 说,天球是以地心为中心,以 无限长为半径的想象球体(图 2-1-1)。所有天体投影在天球 内表面上的位置,也因源于感 图2-1-1 天球 观,称为天体的视位置。 值得说明的是,天球的半径为无限长这一特性,使得地球表面不同位置点之间的距离、

地球的半径,甚至地球到太阳之间的距离等有限长的量可以被视为无穷小而忽略。因此,分别以地球表面不同位置点上的测者、地心和日心为中心的天球,可以被认为是同一个天球。 二、天球基准点线圆 天球上的基准点、线、圆,都是根据地球上的诸如地极、地轴、赤道、地平面、测者铅 如图2-1-2和2-1-3所示,天球基准点线圆及其定义如下: 1.天轴和天极 将地轴(n s P P )向两端无限延长,与天球球面相交所得的天球直径(N S P P )称为天轴。天轴的两个端点称为天极。其中,与地球北极相对应的天极称为天北极,符号N P ;与地球南极相对应的天极称为天南极,符号S P 。 2.天赤道 将地球赤道(?qq ')平面向四周无限扩展,与天球球面相截所得的大圆(?QEQ W ')称为天赤道。显然,天赤道与天轴相垂直。 3.测者铅垂线、天顶和天底 将地球上的测者铅垂线(_____ AO )向两端无限延长,与天球球面相交所得的天球直径(____ Zn ),称为测者铅垂线。测者铅垂线与天球球面相交的两点,在测者头顶正上方的点称为天顶,符号Z ;在测者正下方的点称为天底,符号n 。

VC++获得当前系统时间的几种方案

VC++获得当前系统时间的几种方案 //方案—优点:仅使用C标准库;缺点:只能精确到秒级 #include #include int main( void ) { time_t t = time( 0 ); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天%z", localtime(&t) ); puts( tmp ); return 0; } //方案二优点:能精确到毫秒级;缺点:使用了windows API #include #include int main( void ) { SYSTEMTIME sys; GetLocalTime( &sys ); printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n" ,sys.wYear,sys.wMonth,sys.wDay ,sys.wHour,sys.wMinute,sys.wSecond,sys.wMilliseconds ,sys.wDayOfWeek); return 0; } //方案三,优点:利用系统函数 #include #include using namespace std; void main(){ system("time"); } 可以改变电脑的时间设定 方案4: #include #include using namespace std; int main() { time_t now_time; now_time = time(NULL);

获取系统时间

获取系统时间 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

\\"; (0,PathString); PathString = ".dat"; (0,FileNameString); FileNameString = PathString; VC++中其实还是通过调用它自带的CTime类来完成的获取当前系统时间的,我们做一个小程序来了解这个过程吧!对话框里只有两个显示框和两个按钮,点下按钮显示当前时间。就这么一个小程序。 (1)建立应用程序外壳 创建一个新的AppWizard项目,命名为shiyan,选择Dialog based;其他都选用默认属性,单击Finish完成生成应用程序的步骤。进入对话框界面以后,按下图所示布置显示框和功能按钮。 (2)设置参数 其中上面的显示文本框设为CString型,命名为m_show,ID号为IDC_show。 下面的显示文本框设为CString型,命名为m_show1,ID号为IDC_show1。 (3)编译程序 start键程序: void CDate1Dlg::Onstart(){ d "),,,,,,,; 用CTime类 CTime tm=CTime::GetCurrentTime(); CString str=(“现在时间是:%Y年%m月%d日 %X”); MessageBox(str,NULL,MB_OK); 2: 得到系统时间日期(使用GetLocalTime) SYSTEMTIME st; CString strDate,strTime; GetLocalTime(&st); (“%4d-%2d-%2d”,,,); (“%2d:%2d:%2d”,,,); 3.使用GetTickCount//获取程序运行时间 long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)……//程序段 long t2=GetTickCount();//程序段结束后取得系统运行时间(ms) long t = t2-t1; //前后之差即程序运行时间(ms) 2010-05-18/

JAVA中获取当前系统时间

JAVA中获取当前系统时间 一. 获取当前系统时间和日期并格式化输出: import import class NowString { public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");在数据库里的日期只以年-月-日的方式输出,可以用下面两种方法: 1、用convert()转化函数: String sqlst = "select convert(varchar(10),bookDate,126) as convertBookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'"; "convertBookDate")); 2、利用SimpleDateFormat类: 先要输入两个java包: import import 然后: 定义日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd); sql语句为:String sqlStr = "select bookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'"; 输出: "bookDate")));

************************************************************ java中获取当前日期和时间的方法 import import import public class TestDate{ public static void main(String[] args){ Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//可以方便地修改日期格式

C++ 获取代码运行时间的各种方法

C++获取代码运行时间 如何获取代码运行时间在调试中,经常需要计算某一段代码的执行时间,下面给出两种常用的方式: 第一种:使用GetTickCount函数 #include #include int main() { DWORD start_time=GetTickCount(); { //此处为被测试代码 } DWORD end_time=GetTickCount(); cout<<"The run time is:"<<(end_time-start_time)<<"ms!"< #include int main() { clock_t start_time=clock(); { //被测试代码 } clock_t end_time=clock(); cout<< "Running time is: "<(end_time-start_time)/CLOCKS_PER_SEC*1000<<"ms"<

sql得到当前系统时间的日期部分

sql得到当前系统时间的日期部分.txt爱尔兰﹌一个不离婚的国家,一个一百年的约定。难过了,不要告诉别人,因为别人不在乎。★真话假话都要猜,这就是现在的社会。 sql得到当前系统时间得日期部分 --如果是在表中查詢 --昨天 Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) = 1 --明天 Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) = 1 --最近七天 Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) <= 7 --随后七天 Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) <= 7 --上周 Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 1 --本周 Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 0 --下周 Select * From TableName Where DateDiff(wk, GetDate(), DateTimCol ) = 1 --上月 Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 1 --本月 Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 0 --下月 Select * From TableName Where DateDiff(mm, GetDate(), DateTimCol ) = 1

C 如何获取系统时间

方案-优点:仅使用C标准库;缺点:只能精确到秒级#include#include int main(void){time_t t=time(0);char tmp[64];strftime(tmp, sizeof(tmp),"%Y/%m/%d%X%A本年第%j天%z",localtime(&t));puts(tmp); return0;}size_t strftime(char*strDest,size_t maxsize,const char*format,const struct tm*timeptr);根据格式字符串生成字符串。struct tm*localtime(const time_t *timer);取得当地时间,localtime获取的结果由结构tm返回返回的字符串可以依下列的格式而定:%a星期几的缩写。Eg:Tue%A星期几的全名。Eg:Tuesday%b月份名称的缩写。%B月份名称的全名。%c本地端日期时间较佳表示字符串。%d用数字表示本月的第几天(范围为00至31)。日期%H用24小时制数字表示小时数(范围为00至23)。%I用12小时制数字表示小时数(范围为01至12)。%j以数字表示当年度的第几天(范围为001至366)。%m月份的数字(范围由1至12)。%M分钟。%p以''AM''或''PM''表示本地端时间。%S秒数。%U数字表示为本年度的第几周,第一个星期由第一个周日开始。%W数字表示为本年度的第几周,第一个星期由第一个周一开始。%w用数字表示本周的第几天(0为周日)。%x不含时间的日期表示法。%X不含日期的时间表示法。Eg:15:26:30%y二位数字表示年份(范围由00至99)。%Y完整的年份数字表示,即四位数。Eg:2008%Z(%z)时区或名称缩写。Eg:中国标准时间%%%字符。 方案二优点:能精确到毫秒级;缺点:使用了windows API#include #includeint main(void){SYSTEMTIME sys;GetLocalTime(&sys); printf("%4d/%02d/%02d%02d:%02d:%02d.%03d星

相关文档
最新文档