网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月28日漏签0天
c++吧 关注:651,081贴子:2,117,851
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 6回复贴,共1页
<<返回c++吧
>0< 加载中...

新手求教 关于time(0)的问题。。。求大神解惑

  • 只看楼主
  • 收藏

  • 回复
  • 缺月昏昏
  • ==
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
网上说time(0)从1970.1.1 00:00:00 算起为什么我编起来是从 08:00:00 开始算起的。。
贴一部分代码:#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int year=1970,month,day,hour,min,sec;
sec=time(0)+8*3600; //比如现在如果不加8小时算出来是8点加上8小时才是16点
......


  • 缺月昏昏
  • ==
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
完整代码:(我编的是秒变换成年月日,从1970.1.1 00:00:00算起,打算用系统时间试验一下结果发现这个问题)
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int year=1970,month,day,hour,min,sec;
sec=time(0)+8*3600; //1970-1-1 00:00:00算起 ???(08:00:00)
day=sec/86400; //计算天 86400进制
while(day>364) //计算年
{
if((year%4==0&&year%100!=0)||year%400==0)
day-=366;
else
day-=365;
++year;
}
day=day+1; //已经过完的天数+1 = 今天的日期
if((year%4==0&&year%100!=0)||year%400==0) //计算月 、日
{
if(day<=31)month=1;
else if(day<=60){
month=2;
day-=31;
}
else if(day<=91){
month=3;
day-=60;
}
else if(day<=121){
month=4;
day-=91;
}
else if(day<=152)
{
month=5;
day-=121;
}
else if(day<=182){
month=6;
day-=152;
}
else if(day<=213){
month=7;
day-=182;
}
else if(day<=244){
month=8;
day-=213;
}
else if(day<=274){
month=9;
day-=244;
}
else if(day<=305){
month=10;
day-=274;
}
else if(day<=335){
month=11;
day-=305;
}
else if(day<=366){
month=12;
day-=335;
}
}
else
{
if(day<=31)month=1;
else if(day<=59){
month=2;
day-=31;
}
else if(day<=90){
month=3;
day-=59;
}
else if(day<=120){
month=4;
day-=90;
}
else if(day<=151){
month=5;
day-=120;
}
else if(day<=181){
month=6;
day-=151;
}
else if(day<=212){
month=7;
day-=181;
}
else if(day<=243){
month=8;
day-=212;
}
else if(day<=273){
month=9;
day-=243;
}
else if(day<=304){
month=10;
day-=273;
}
else if(day<=334){
month=11;
day-=304;
}
else if(day<=365){
month=12;
day-=334;
}
}
hour=(sec%86400)/3600; //计算时 3600进制
min=(sec%3600)/60; //计算分 60进制
sec=(sec%3600)%60; //计算秒 余下的全为秒数
cout<<"date:"<<year<<"/"<<month<<"/"<<day<<"\ntime:"<<hour<<":"<<min<<":"<<sec<<endl;
system("pause");
return 0;
}



2026-01-28 02:55:41
广告
不感兴趣
开通SVIP免广告
  • NEMESIS_T2
  • <<
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
表示就搞伪随机数的时候用这玩意做过种子,未曾深究,爪机无力,帮顶。


  • 缺月昏昏
  • ==
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大神指导。


  • weishusen520
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你是东8时区的,你忘记时区的问题了


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 6回复贴,共1页
<<返回c++吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示