万年历---java算法实现_第1页
万年历---java算法实现_第2页
万年历---java算法实现_第3页
万年历---java算法实现_第4页
万年历---java算法实现_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、万年历-java算法实现万年历是我在网上见到的一份极高高精度的万年历,其采用先进的算法实现,其精度堪比刘安国教授为中国科学院国家授时中心制作的日梭万年历。但网络上只有javascript版本。于是自己将其翻译为java程序,并公布于此,方便大家使用。本文中讲的万年历是一款采用现代天文算法制作的农历历算程序,含有公历与回历信息,可以很方便的进行公、农、回三历之间的转换。提供公元-4712年到公元9999年的日期查询功能。其中1500年到1940农历数据已经与陈垣的二十史朔闰表核对;含有从公420元(南北朝/宋武帝元年)到今的基本年号。在过去几百年中,寿星万年历的误差是非常小的,节气时刻计算及日月

2、合朔时刻的平均误差小于1秒,太阳坐标的最大可能误差为0.2角秒,月亮坐标的最大可能误差为3角秒,平均误差为误差的1/6。万年历中含有几百个国内城市的经纬度,并且用户可根据自已的需要扩展经纬度数据。   代码如下: /* * author lxslove * mail mood l x s at 163 * */public class SolarTerm  / =角度变换= private static final double rad = 180 * 3600 / Math.PI;

3、/ 每弧度的角秒数 private static final double RAD = 180 / Math.PI; / 每弧度的角度数 / =日历计算= private static final double J2000 = 2451545; / 2000年前儒略日数(2000-1-1 / 12:00:00格林威治平时) / =黄赤交角及黄赤坐标变换= private static final double hcjjB = 84381.448, -46.8150, -0.00059,   0.00181

4、3 ;/ 黄赤交角系数表 private static final double preceB = 0, 50287.92262, 111.24406,   0.07699, -0.23479, -0.00178, 0.00018, 0.00001 ;/ Date黄道上的岁差p private double Y = 2000; private double M = 1; private double D = 1; private double h = 12; private double m = 0;&#

5、160;private double s = 0; private static final double dts =    / 世界时与原子时之差计算表   -4000, 108371.7, -13036.80, 392.000, 0.0000, -500, 17201.0,   -627.82, 16.170, -0.3413, -150, 12200.6, -346.41, 5.403, -0.1593,   150, 9113.8, -328.13, -1.

6、647, 0.0377, 500, 5707.5, -391.41, 0.915,   0.3145, 900, 2203.4, -283.45, 13.034, -0.1778, 1300, 490.1, -57.35,   2.085, -0.0072, 1600, 120.0, -9.81, -1.532, 0.1403, 1700, 10.2,   -0.91, 0.510, -0.0370, 1800, 13.4, -0.72, 0.202, -0.0193, 1830,  

7、 7.8, -1.81, 0.416, -0.0247, 1860, 8.3, -0.13, -0.406, 0.0292, 1880,   -5.4, 0.32, -0.183, 0.0173, 1900, -2.3, 2.06, 0.169, -0.0135, 1920,   21.2, 1.69, -0.304, 0.0167, 1940, 24.2, 1.22, -0.064, 0.0031, 1960,   33.2, 0.51, 0.231, -0.0109, 1980, 51.0,

8、 1.29, -0.026, 0.0032, 2000,   64.7, -1.66, 5.224, -0.2905, 2150, 279.4, 732.95, 429.579, 0.0158,   6000 ; / 取整数部分 public static double int2(double v)   v = Math.floor(v);  if (v < 0)   return v + 1;  return v;&#

9、160; / 对超过0-2PI的角度转为0-2PI public static double rad2mrad(double v)   v = v % (2 * Math.PI);  if (v < 0)   return v + 2 * Math.PI;  return v;  / 计算世界时与原子时之差,传入年 public double deltatT(double y)   int i = 0;  fo

10、r (i = 0; i < 100; i += 5)   if (y < dtsi + 5 | i = 95)    break;  double t1 = (y - dtsi) / (dtsi + 5 - dtsi) * 10;  double t2 = t1 * t1;  double t3 = t2 * t1;  return dtsi + 1 + dtsi + 2 * t1 + dtsi + 3 * t2 + dtsi + 4

11、 * t3;  / 传入儒略日(J2000起算),计算UTC与原子时的差(单位:日) public double deltatT2(double jd)   return this.deltatT(jd / 365.2425 + 2000) / 86400.0;  / 公历转儒略日,UTC=1表示原日期是UTC public double toJD(boolean UTC)   double y = this.Y; / 取出年月  double m = this.M;

12、0; double n = 0;  if (m <= 2)    m += 12;   y-;    if (this.Y * 372 + this.M * 31 + this.D >= 588829)    / 判断是否为格里高利历日1582*372+10*31+15   n = int2(y / 100);   n = 2 - n + int2(n / 4);/

13、 加百年闰    n += int2(365.2500001 * (y + 4716); / 加上年引起的偏移日数  n += int2(30.6 * (m + 1) + this.D; / 加上月引起的偏移日数及日偏移数  n += (this.s / 60 + this.m) / 60 + this.h) / 24 - 1524.5;  if (UTC)   return n + this.deltatT2(n - J2000);  retu

14、rn n;  / 儒略日数转公历,UTC=1表示目标公历是UTC public void setFromJD(double jd, boolean UTC)   if (UTC)   jd -= this.deltatT2(jd - J2000);  jd += 0.5;  / 取得日数的整数部份A及小数部分F  double A = int2(jd);  double F = jd - A;  double D;&

15、#160; if (A > 2299161)    D = int2(A - 1867216.25) / 36524.25);   A += 1 + D - int2(D / 4);    A += 1524; / 向前移4年零2个月  this.Y = int2(A - 122.1) / 365.25);/ 年  D = A - int2(365.25 * this.Y); / 去除整年日数后余下日数  this.M

16、= int2(D / 30.6001); / 月数  this.D = D - int2(this.M * 30.6001);/ 去除整月日数后余下日数  this.Y -= 4716;  this.M-;  if (this.M > 12)   this.M -= 12;  if (this.M <= 2)   this.Y+;  / 日的小数转为时分秒  F *= 24; 

17、; this.h = int2(F);  F -= this.h;  F *= 60;  this.m = int2(F);  F -= this.m;  F *= 60;  this.s = F;  / 设置时间,参数例:"20000101 120000"或"20000101" public void setFromStr(String s)   this.Y = Doubl

18、e.parseDouble(s.substring(0, 4);  this.M = Double.parseDouble(s.substring(4, 2);  this.D = Double.parseDouble(s.substring(6, 2);  this.h = Double.parseDouble(s.substring(9, 2);  this.m = Double.parseDouble(s.substring(11, 2);  this.s = Double.parseDo

19、uble(s.substring(13, 2); /* 将5改为了2 */  / 日期转为串 public String toStr()   String Y = "     " + (int)this.Y;  String M = "0" + (int)this.M;  String D = "0" + (int)this.D;  double h = this.h, m = this

20、.m, s = Math.floor(this.s + .5);  if (s >= 60)    s -= 60;   m+;    if (m >= 60)    m -= 60;   h+;    String sh = "0" + (int)h, sm = "0" + (int)m, ss = "0"

21、; + (int)s;  Y = Y.substring(Y.length() - 5, Y.length();  M = M.substring(M.length() - 2, M.length();  D = D.substring(D.length() - 2, D.length();  sh = sh.substring(sh.length() - 2, sh.length();  sm = sm.substring(sm.length() - 2, sm.length(); 

22、 ss = ss.substring(ss.length() - 2, ss.length();  return Y + "-" + M + "-" + D + " " + sh + ":" + sm + ":" + ss;  / 算出:jd转到当地UTC后,UTC日数的整数部分或小数部分 / 基于J2000力学时jd的起算点是12:00:00时,所以跳日时刻发生在12:00:00,这与日历计算发生矛盾 / 把jd改正为00:

23、00:00起算,这样儒略日的跳日动作就与日期的跳日同步 / 改正方法为jd=jd+0.5-deltatT+shiqu/24 / 把儒略日的起点移动-0.5(即前移12小时) / 式中shiqu是时区,北京的起算点是-8小时,shiqu取8 public double Dint_dec(double jd, int shiqu, boolean dec)   double u = jd + 0.5 - this.deltatT2(jd) + shiqu / 24;  if (dec)   

24、;return Math.floor(u); / 返回整数部分  else   return u - Math.floor(u); / 返回小数部分  / 计算两个日期的相差的天数,输入字串格式日期,如:"20080101" double d1_d2(String d1, String d2)   double Y = this.Y, M = this.M, D = this.D, h = this.h, m = this.m, s = this.s; / 备份原来的数据&#

25、160; this.setFromStr(d1.substring(0, 8) + " 120000");  double jd1 = this.toJD(false);  this.setFromStr(d2.substring(0, 8) + " 120000");  double jd2 = this.toJD(false);  this.Y = Y;  this.M = M;  this.D = D; 

26、60;this.h = h;  this.m = m;  this.s = s; / 还原  if (jd1 > jd2)   return Math.floor(jd1 - jd2 + .0001);  else   return -Math.floor(jd2 - jd1 + .0001);  / 返回黄赤交角(常规精度),短期精度很高 public static double hcjj1(double t) 

27、60; double t1 = t / 36525;  double t2 = t1 * t1;  double t3 = t2 * t1;  return (hcjjB0 + hcjjB1 * t1 + hcjjB2 * t2 + hcjjB3 * t3) / rad;  / 黄赤转换(黄赤坐标旋转) public static void HCconv(double JW, double E)   / 黄道赤道坐标变换,赤到黄E取负  double HJ

28、 = rad2mrad(JW0), HW = JW1;  double sinE = Math.sin(E), cosE = Math.cos(E);  double sinW = cosE * Math.sin(HW) + sinE * Math.cos(HW) * Math.sin(HJ);  double J = Math.atan2(Math.sin(HJ) * cosE - Math.tan(HW) * sinE, Math    .cos(HJ);  JW0 =

29、rad2mrad(J);  JW1 = Math.asin(sinW);  / 补岁差 public static void addPrece(double jd, double zb)   int i;  double t = 1, v = 0, t1 = jd / 365250;  for (i = 1; i < 8; i+)    t *= t1;   v += preceBi * t;  &#

30、160; zb0 = rad2mrad(zb0 + (v + 2.9965 * t1) / rad);  / =光行差= private static final double GXC_e = 0.016708634, -0.000042037,   -0.0000001267 ; / 离心率 private static final double GXC_p = 102.93735 / RAD, 1.71946 / RAD,   0.00046 / RAD ; / 近点 p

31、rivate static final double GXC_l = 280.4664567 / RAD,   36000.76982779 / RAD, 0.0003032028 / RAD, 1 / 49931000 / RAD,   -1 / 153000000 / RAD ; / 太平黄经 private static final double GXC_k = 20.49552 / rad; / 光行差常数 / 恒星周年光行差计算(黄道坐标中) public static void addGxc(

32、double t, double zb)   double t1 = t / 36525;  double t2 = t1 * t1;  double t3 = t2 * t1;  double t4 = t3 * t1;  double L = GXC_l0 + GXC_l1 * t1 + GXC_l2 * t2 + GXC_l3 * t3    + GXC_l4 * t4;  double p = GXC_p0 + GXC_p1 *

33、 t1 + GXC_p2 * t2;  double e = GXC_e0 + GXC_e1 * t1 + GXC_e2 * t2;  double dL = L - zb0, dP = p - zb0;  zb0 -= GXC_k * (Math.cos(dL) - e * Math.cos(dP) / Math.cos(zb1);  zb1 -= GXC_k * Math.sin(zb1) * (Math.sin(dL) - e * Math.sin(dP);  zb0 = rad2mrad

34、(zb0);  / =章动计算= private static final double nutB = / 章动表 2.1824391966, -33.757045954, 0.0000362262, 3.7340E-08, -2.8793E-10,   -171996, -1742, 92025, 89, 3.5069406862, 1256.663930738,   0.0000105845, 6.9813E-10, -2.2815E-10, -13187, -16, 5736, -31,&

35、#160;  1.3375032491, 16799.418221925, -0.0000511866, 6.4626E-08,   -5.3543E-10, -2274, -2, 977, -5, 4.3648783932, -67.514091907,   0.0000724525, 7.4681E-08, -5.7586E-10, 2062, 2, -895, 5,   0.0431251803, -628.301955171, 0.0000026820, 6.5935E-10,

36、 5.5705E-11,   -1426, 34, 54, -1, 2.3555557435, 8328.691425719, 0.0001545547,   2.5033E-07, -1.1863E-09, 712, 1, -7, 0, 3.4638155059,   1884.965885909, 0.0000079025, 3.8785E-11, -2.8386E-10, -517, 12,   224, -6, 5.4382493597, 16833.17526787

37、9, -0.0000874129, 2.7285E-08,   -2.4750E-10, -386, -4, 200, 0, 3.6930589926, 25128.109647645,   0.0001033681, 3.1496E-07, -1.7218E-09, -301, 0, 129, -1,   3.5500658664, 628.361975567, 0.0000132664, 1.3575E-09, -1.7245E-10,   217, -5, -95, 3

38、 ; public static class ZD   public double Lon;  public double Obl;  / 计算黄经章动及交角章动 public static ZD nutation(double t)   ZD d = new ZD();  d.Lon = 0;  d.Obl = 0;  t /= 36525;  double c, t1 = t, t2 = t1 * t1, t3

39、= t2 * t1, t4 = t3 * t1;/ t5=t4*t1;  for (int i = 0; i < nutB.length; i += 9)    c = nutBi + nutBi + 1 * t1 + nutBi + 2 * t2 + nutBi + 3     * t3 + nutBi + 4 * t4;   d.Lon += (nutBi + 5 + nutBi + 6 * t / 10) * Math.sin(c); / 黄经章动

40、60;  d.Obl += (nutBi + 7 + nutBi + 8 * t / 10) * Math.cos(c); / 交角章动    d.Lon /= rad * 10000; / 黄经章动  d.Obl /= rad * 10000; / 交角章动  return d;  / 本函数计算赤经章动及赤纬章动 public static void nutationRaDec(double t, double zb)   double Ra

41、 = zb0, Dec = zb1;  double E = hcjj1(t), sinE = Math.sin(E), cosE = Math.cos(E); / 计算黄赤交角  ZD d = nutation(t); / 计算黄经章动及交角章动  double cosRa = Math.cos(Ra), sinRa = Math.sin(Ra);  double tanDec = Math.tan(Dec);  zb0 += (cosE + sinE * sinRa * tanDec) *

42、d.Lon - cosRa * tanDec    * d.Obl; / 赤经章动  zb1 += sinE * cosRa * d.Lon + sinRa * d.Obl; / 赤纬章动  zb0 = rad2mrad(zb0);    /=以下是月球及地球运动参数表= /*  * 如果用记事本查看此代码,请在"格式"菜单中去除"自动换行"  * E10是关于地球的,格式如下:  * 

43、   它是一个数组,每3个数看作一条记录,每条记录的3个数记为A,B,C  *    rec=A*cos(B+C*t);  式中t是J2000起算的儒略千年数  *    每条记录的计算结果(即rec)取和即得地球的日心黄经的周期量L0  * E11格式如下: rec = A*cos*(B+C*t) *t,     取和后得泊松量L1  * E12格式如下: rec = A*cos*(B+C*t) *t*t, 

44、60; 取和后得泊松量L2  * E13格式如下: rec = A*cos*(B+C*t) *t*t*t, 取和后得泊松量L3  * 最后地球的地心黄经:L = L0+L1+L2+L3+.  * E20,E21,E22,E23.用于计算黄纬  * M10,M11等是关于月球的,参数的用法请阅读Mnn()函数 */ /地球运动VSOP87参数 private static final double E10 = /黄经周期项   1.75347045673, 0.00000000000,  

45、;   0.0000000000,  0.03341656456, 4.66925680417,  6283.0758499914,  0.00034894275, 4.62610241759, 12566.1516999828,  0.00003417571, 2.82886579606,     3.5231183490,   0.00003497056, 2.74411800971,  5753.3848848968,  0.00003135896,

46、 3.62767041758, 77713.7714681205,  0.00002676218, 4.41808351397,  7860.4193924392,  0.00002342687, 6  3930.2096962196,   0.00001273166, 2.03709655772,   529.6909650946,  0.00001324292, 0.74246356352, 11506.7697697936,  0.00000901855, 2.0

47、4505443513,    26.2983197998,  0.00001199167, 1.10962944315,  1577.3435424478,   0.00000857223, 3.50849156957,   398.1490034082,  0.00000779786, 1  5223.6939198022,  0.00000990250, 5.23268129594,  5884.9268465832,  0.

48、00000753141, 2.53339053818,  5507.5532386674,   0.00000505264, 4.58292563052, 18849.2275499742,  0.00000492379, 4.20506639861,   775.5226113240,  0.00000356655, 2.91954116867,     0.0673103028,  0.00000284125, 1.89869034186,   796

49、.2980068164,   0.00000242810, 0.34481140906,  5486.7778431750,  0.00000317087, 5.84901952218, 11790.6290886588,  0.00000271039, 0.31488607649, 10977.0788046990,  0.00000206160, 4.80646606059,  2544.3144198834,   0.00000205385, 1.86947813692,  5573.14

50、28014331,  0.00000202261, 2.45767795458,  6069.7767545534,  0.00000126184, 1.08302630210,    20.7753954924,  0.00000155516, 0.83306073807,   213.2990954380,   0.00000115132, 0.64544911683,     0.9803210682,  0.0000010285

51、1, 0.63599846727,  4694.0029547076,  0.00000101724, 4.26679821365,     7.1135470008,  0.00000099206, 6.20992940258,  2146.1654164752,   0.00000132212, 3.41118275555,  2942.4634232916,  0.00000097607, 0.68101272270,   155.420399434

52、2,  0.00000085128, 1.29870743025,  6275.9623029906,  0.00000074651, 1.75508916159,  5088.6288397668,   0.00000101895, 0.97569221824, 15720.8387848784,  0.00000084711, 3.67080093025, 71430.6956181291,  0.00000073547, 4.67926565481,   801.8209311238,&#

53、160; 0.00000073874, 3.50319443167,  3154.6870848956,   0.00000078756, 3.03698313141, 12036.4607348882,  0.00000079637, 1.80791330700, 17260.1546546904,  0.00000085803, 5.98322631256,161000.6857376741,  0.00000056963, 2.78430398043,  6286.5989683404,   0.0

54、0000061148, 1.81839811024,  7084.8967811152,  0.00000069627, 0.83297596966,  9437.7629348870,  0.00000056116, 4.38694880779, 14143.4952424306,  0.00000062449, 3.97763880587,  8827.3902698748,   0.00000051145, 0.28306864501,  5856.4776591154,  0.00000

55、055577, 3.47006009062,  6279.5527316424,  0.00000041036, 5.36817351402,  8429.2412664666,  0.00000051605, 1.33282746983,  1748.0164130670,   0.00000051992, 0 12139.5535091068,  0.00000049000, 0.48735065033,  1194.4470102246,  0.000000392

56、00, 6.16832995016, 10447.3878396044,  0.00000035566, 1.77597314691,  6812.7668150860,   0.00000036770, 6.04133859347, 10213.2855462110,  0.00000036596, 2.56955238628,  1059.3819301892,  0.00000033291, 0.59309499459, 17789.8456197850,  0.00000035954, 1.70876111

57、898,  2352.8661537718; private static final double E11 = /黄经泊松1项 6283.31966747491,0.00000000000,     0.0000000000,  0.00206058863, 2.67823455584,  6283.0758499914,  0.00004303430, 2.63512650414, 12566.1516999828,  0.00000425264, 1.59046980729,&#

58、160;    3.5231183490,   0.00000108977, 2.96618001993,  1577.3435424478,  0.00000093478, 2.59212835365, 18849.2275499742,  0.00000119261, 5.79557487799,    26.2983197998,  0.00000072122, 1   529.6909650946,  

59、 0.00000067768, 1.87472304791,   398.1490034082,  0.00000067327, 4.40918235168,  5507.5532386674,  0.00000059027, 2.88797038460,  5223.6939198022,  0.00000055976, 2   155.4203994342,   0.00000045407, 0.39803079805,   796.2

60、980068164,  0.00000036369, 0.46624739835,   775.5226113240,  0.00000028958, 2.64707383882,     7.1135470008,  0.00000019097, 1.84628332577,  5486.7778431750,   0.00000020844, 5.34138275149,     0.9803210682,  0.0000

61、0018508, 4.96855124577,   213.2990954380,  0.00000016233, 0.03216483047,  2544.3144198834,  0.00000017293, 2.99116864949,  6275.9623029906; private static final double E12 = /黄经泊松2项   0.00052918870, 0.00000000000,     0.0000000000,

62、0; 0.00008719837, 1.07209665242,  6283.0758499914,  0.00000309125, 0.86728818832, 12566.1516999828,  0.00000027339, 0.05297871691,     3.5231183490,   0.00000016334, 5    26.2983197998,  0.00000015752, 3.68457889430, 

63、  155.4203994342,  0.00000009541, 0.75742297675, 18849.2275499742,  0.00000008937, 2.05705419118, 77713.7714681205,   0.00000006952, 0.82673305410,   775.5226113240,  0.00000005064, 4.66284525271,  1577.3435424478; private static final double E13 = 0

64、.00000289226, 5.84384198723,  6283.0758499914,  0.00000034955, 0.00000000000,     0.0000000000, 0.00000016819, 5.48766912348, 12566.1516999828; private static final double E14 =   0.00000114084, 3     0.0000000000,  0.0000

65、0007717, 4  6283.0758499914, 0.00000000765, 3.83803776214, 12566.1516999828; private static final double E15 =   0.00000000878, 3     0.0000000000 ; private static final double E20 =   /黄纬周期项   0.00000279620, 3.19870156

66、017, 84334.6615813083,  0.00000101643, 5.42248619256,  5507.5532386674,  0.00000080445, 3.88013204458,  5223.6939198022,  0.00000043806, 3.70444689758,  2352.8661537718,   0.00000031933, 4.00026369781,  1577.3435424478,  0.00000022724, 3.98473831560,

67、  1047.7473117547,  0.00000016392, 3.56456119782,  5856.4776591154,  0.00000018141, 4.98367470263,  6283.0758499914,   0.00000014443, 3.70275614914,  9437.7629348870,  0.00000014304, 3.41117857525, 10213.2855462110; private static final double E21 =

68、  0.00000009030, 3.89729061890,  5507.5532386674,  0.00000006177, 1.73038850355,  5223.6939198022; private static final double E30 =   /距离周期项   1.00013988799, 0.00000000000,     0.0000000000,  0.01670699626, 3.09846350771,  6283.0

69、758499914,  0.00013956023, 3.05524609620, 12566.1516999828,  0.00003083720, 5.19846674381, 77713.7714681205,   0.00001628461, 1  5753.3848848968,  0.00001575568, 2.84685245825,  7860.4193924392,  0.00000924799, 5.45292234084, 11506.7697697936,

70、0; 0.00000542444, 4.56409149777,  3930.2096962196; private static final double E31 =   0.00103018608, 1.10748969588,  6283.0758499914,  0.00001721238, 1.06442301418, 12566.1516999828, 0.00000702215, 3     0.0000000000; private static fin

71、al double E32 =   0.00004359385, 5.78455133738,  6283.0758499914 ; private static final double E33 =   0.00000144595, 4.27319435148,  6283.0758499914 ; /月球运动参数 private static final double M10 =    22639.5858800,  2.3555545723,  8328.6914247251, 1.5231275E-04, 2.5041111E-07,-1.1863391E-09, 4586.4383203,  8.0413790709,  7214.0628654588,-2.1850087E-04,-1.8646419E-07, 8.77

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论