zoukankan      html  css  js  c++  java
  • 儒略日反推计算日期

    把儒略日反推计算日期写成了一个小程序,大家可以调用,在参数中指定就可以返回需要的结果了。

    Good Luck!

    int mjd2date (  long mjd, int *pYear, int *pMonth,  int *pDay  )

    {

    #define AD 678576

        int icen4;

        int icen;

        int iyr4;

        int iyr;

        int imon;

        int iday;

        if (mjd > 2973483)

    return (ERROR);

        if ((mjd += AD - 1) < 0)

            return (ERROR);

        icen4 = mjd / 146097;

        mjd -= (icen4 * 146097);

        if ((icen = mjd / 36524) == 4)

            icen = 3; 

        mjd -= (icen * 36524);

        iyr4 = mjd / 1461;

        mjd -= (iyr4 * 1461);

        if ((iyr = mjd / 365) == 4)

            iyr = 3;

        iday = mjd - iyr * 365;

        for (imon = 0; iday >= 0; imon++)

    iday = iday - monlen[imon] - ((iyr == 3 && imon == 1) ? 1 : 0);

        imon--;

        iday = iday + monlen[imon] + ((iyr == 3 && imon == 1) ? 1 : 0);

        *pYear = icen4 * 400 + icen * 100 + iyr4 * 4 + iyr + 1;

        *pMonth = imon + 1;

        *pDay = iday + 1;

        return (OK);

    }

  • 相关阅读:
    换个格式输出整数
    c++入门构造函数
    接口继承与实现
    spring mvc 之@requestmapping
    RabbitMQ
    Socket通信原理
    TCP三次握手与四次挥手
    WIN 10家庭版没有Hyper-V
    aop 切面demo
    JVM之旅------jvm内存模型
  • 原文地址:https://www.cnblogs.com/shaoguangleo/p/2805794.html
Copyright © 2011-2022 走看看