zoukankan      html  css  js  c++  java
  • RDS 年月日换算

     1         /// 从儒略日转换为年月日(如把54863转换为2009-02-01)
     2         /// </summary>
     3         /// <param name="mjdstr">简化儒略日</param>
     4         /// <returns>年-月-日</returns>
     5 #if 1
     6 void GetDateTimeByMJD(u32_t mjdstr)
     7 {
     8             //把简化儒略日转换为儒略日(MJD TO JD)
     9             double xdata JD = (double)(mjdstr) + 2400000.5;
    10             double xdata Z = floor(JD + 0.5);
    11             double xdata W = floor((Z - 1867216.25) / 36524.25);
    12             double xdata X = floor(W / 4);
    13             double xdata AA = floor(Z + 1 + W - X);
    14             double xdata BB = floor(AA + 1524);
    15             double xdata CC = floor((BB - 122.1) / 365.25);
    16             double xdata DD = floor(365.25 * CC);
    17             double xdata EE = floor((BB - DD) / 30.6001);
    18             double xdata FF = floor(30.6001 * EE);
    19             date.Day = BB - DD - FF;
    20 //            double Month;
    21 //            double Year;
    22             if ((EE - 13) <= 12 && (EE - 13) > 0)
    23                 date.Month = EE - 13;
    24             else
    25                 date.Month = EE - 1;
    26             if (date.Month == 1 || date.Month == 2)
    27                 date.Year = CC - 4715;
    28             else
    29                 date.Year = CC - 4716;
    30 
    31 }
    32 
    33   /// 从日期获得儒略日
    34         /// </summary>
    35         /// <param name="dt">时间</param>
    36         /// <returns>简化儒略日mjd</returns>
    37 u32_t GetMJd(T_DATA dt)
    38 {
    39  long I = dt.Year, J = dt.Month, K = dt.Day;
    40  //求出给定年(I),月(J),日(K)的儒略日:
    41  double jd = K - 32075 + 1461 * (I + 4800 + (J - 14) / 12) / 4 + 367 * (J - 2 - (J - 14) / 12 * 12) / 12 - 3 * ((I + 4900 + (J - 14) / 12) / 100) / 4;
    42  u32_t mjdStr = (jd - 2400000.5);
    43  return    mjdStr;
    44 // int x = mjdStr.IndexOf(".");
    45 // if (x == -1)
    46 // {
    47 //     return long.Parse(mjdStr);
    48 // }
    49 // else
    50 // {
    51 //     mjdStr = mjdStr.Substring(0, x);
    52 //     return long.Parse(mjdStr);
    53 // }
    54 }
  • 相关阅读:
    第二次作业
    国庆节假期作业1
    memoize使用实例之创建XHR
    javascript 函数式编程(3)
    javascript 异步循环 asyncEach
    c++ 精简版 序列化
    javascript 函数式编程(4)
    javascript setZeroTimeout
    c++ 精简版 thread
    PHP Memoization
  • 原文地址:https://www.cnblogs.com/ljf181275034/p/2546635.html
Copyright © 2011-2022 走看看