24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 1628  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

szdchris

银虫 (小有名气)

[求助] C++程序怎么实现时间的转换呢?

需要一个简单的程序将现在日期进行转换,比如将2011.8.23设为第一天,那么现在我输入2013.3.26,直接显示第几天,该怎么编写代码呢?求高手指教,谢谢啦
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

szdchris

银虫 (小有名气)


fegg7502: 金币+1, 鼓励交流 2013-04-02 08:55:49
引用回帖:
2楼: Originally posted by libralibra at 2013-03-31 21:32:06
都转为Julian day后直接做差即可,给你一个函数,测试过了
#include <iostream>
using namespace std;

// convert Gregorian calendar date to Julian Day Number
float getJulianDay(int year, int mo ...

你好,很感谢您能回复,但是我运行了,不是我想要的结果,我可能没说明白,就是有个.txt的文档,第一列(除去第一行,第一行是汉字)是累计天数,要的是新建一个.txt文档,转换出的是年月日文档,例如:

数据1.jpg



数据2.jpg

3楼2013-04-01 15:00:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
csgt0: 金币+2, 谢谢 2013-04-01 11:00:24
都转为Julian day后直接做差即可,给你一个函数,测试过了
CODE:
#include
using namespace std;

// convert Gregorian calendar date to Julian Day Number
float getJulianDay(int year, int month, int day)
{
    int a = (14-month)/12;
    int y = year+4800-a;
    int m = month+12*a-3;
    return (float)day+(float)(153*m+2)/5+365*y+(float)y/4-32083;
}

int main() {
    int y = 2011;
    int m = 8;
    int d1 = 23;
    int d2 = 25;
    cout << getJulianDay(y,m,d2)-getJulianDay(y,m,d1) << endl;
    return 0;
}

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-03-31 21:32:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wpacer

铁虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 应助指数+1, 3ks 2013-04-02 08:56:00
VC里有CTimeSpan这个类,直接可以算出来结果的,你可以试试看
朗月茶馆董事馆长
4楼2013-04-01 15:34:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


fegg7502: 金币+1, 3ks 2013-04-02 08:56:13
引用回帖:
3楼: Originally posted by szdchris at 2013-04-01 15:00:18
你好,很感谢您能回复,但是我运行了,不是我想要的结果,我可能没说明白,就是有个.txt的文档,第一列(除去第一行,第一行是汉字)是累计天数,要的是新建一个.txt文档,转换出的是年月日文档,例如:

数据1.jp ...

再给你一个函数,从julian day number转回公里纪年法的,加测试
CODE:
#include
using namespace std;

// convert Gregorian calendar date to Julian Day Number
float getJulianDay(int year, int month, int day)
{
    int a = (14-month)/12;
    int y = year+4800-a;
    int m = month+12*a-3;
    return (float)day+(float)(153*m+2)/5+365*y+(float)y/4-32083;
}

// convert Julian Day Number to Gregorian date
void GetGregorianDay(float jd, int *year, int *month, int *day)
{
    int y = 4716;
    int j = 1401;
    int m = 2;
    int n = 12;
    int r = 4;
    int p = 1461;
    int v = 3;
    int u = 5;
    int s = 153;
    int w = 2;
    float f = jd+j;
    long e = r*f+v;
    int g = e%p;
    g /= r;
    int h = u*g+w;
    *day = h%s;
    *day /= u;
    *month = (h/s+m)%n;
    *month += 1;
    *year = e/p-y+(n+m-*month)/n;
}

int main() {
    int y = 2011;
    int m = 6;
    int d = 25;
    float j = getJulianDay(y,m,d);
   
    cout << "起始日期:\t2011年06月25日" << endl;
    int num;
    while (cin >> num)
    {
        GetGregorianDay(j+num,&y,&m,&d);
        cout << "间隔 " << num << " 天是:\t" << y << "年" << m << "月" << d << "日" << endl;
    }
    return 0;
}

测试结果
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2013-04-01 23:29:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 327求调剂 +23 Xxjc1107. 2026-04-13 25/1250 2026-04-14 18:48 by 逍遥三郎
[考研] 291分调剂 +6 上岸小莹加油 2026-04-09 7/350 2026-04-14 17:58 by lhj2009
[考研] 一志愿中国科学院上海有机所,有机化学356分找调剂 +12 Nadiums 2026-04-09 13/650 2026-04-14 17:54 by lhj2009
[考研] 08工学 309分求调剂 +12 Yin DY 2026-04-08 12/600 2026-04-14 17:49 by lhj2009
[考研] 22408 312求调剂 +15 门路摸摸 2026-04-14 16/800 2026-04-14 17:15 by zs92450
[考研] 26药学专硕105500求调剂 +6 喽哈加油 2026-04-13 6/300 2026-04-14 16:40 by zhouxiaoyu
[考研] 300分求调剂 (085501机械专硕,本科扬大) +9 xu@841019 2026-04-11 10/500 2026-04-14 08:48 by 木木mumu~
[考研] 求调剂,985材料与化工348分 +9 涵竹刘 2026-04-11 14/700 2026-04-13 22:26 by 涵竹刘
[考研] 电气工程专硕320求调剂 +5 小麻子111 2026-04-10 5/250 2026-04-12 10:47 by zhouyuwinner
[考研] 求调剂,262机械专硕 +8 嗯yyl 2026-04-08 8/400 2026-04-12 02:31 by 秋豆菜芽
[考研] 一志愿郑州大学 22408 305分求调剂 +5 安小满zzz 2026-04-08 5/250 2026-04-12 00:41 by 蓝云思雨
[考研] 化工调剂求导师收留!一志愿失利,踏实肯干,有植物提取科研经历 +20 yzyzx 2026-04-09 21/1050 2026-04-12 00:12 by 小小小小啦啦啦
[考研] 求调剂 +11 翩翩一书生 2026-04-09 11/550 2026-04-11 19:57 by 逆水乘风
[考研] 调剂 化学 307 +21 73372112 2026-04-09 23/1150 2026-04-10 23:53 by wj165256
[考研] 083200 305分 求二轮调剂 不接受跨专业 +9 Claireyyyy 2026-04-09 10/500 2026-04-10 21:21 by Claireyyyy
[考研] 292求调剂 +9 笑笑袁 2026-04-09 9/450 2026-04-10 10:05 by LHGeng
[考研] 085601初试330分找调剂 +10 流心奶黄包l 2026-04-09 10/500 2026-04-10 08:14 by Sammy2
[考研] 337求调剂 +4 Gky09300550, 2026-04-09 4/200 2026-04-09 17:18 by 帕尔马拉特
[考研] 085501机械英二77总分294求调剂,接受跨专业学习 +6 守法公民亓纪 2026-04-08 6/300 2026-04-09 15:55 by wp06
[考研] 334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 09:28 by wdyheheeh
信息提示
请填处理意见