A. c语言用什么函数可以得到输入的日期与1970年相差的秒
printf 格式输出到屏幕fprintf 格式输出到磁盘scanf 从屏幕格式输入fscanf 从磁盘格式输入putchar 字符输出到屏幕puts 字符串输出到屏幕fputc 字符输出到磁盘fputs 字符串输出到磁盘getchar 从屏幕得到一个字符gets 从屏幕得到一个字符串fgetc 从磁盘得到一个字符fgets 从磁盘得到一个字符串
B. C语言 已知一个从1970到现在的毫秒数,如何将这个毫秒转换为具体的日期时间
可先判断从1970到现在有几个闰年,判断条件,能被4整除但不能被100整除的年份是闰年;能被100整除又能被400整除的年份也是闰年。然后对毫秒数进行转换,如,除以1000为妙,再除以60为分……注意闰年加一天。转换之后是1970到现在的间隔时间(年月日等表示),加上1970的具体的某个时刻就是现在的时间。
C. C语言统计并输出1970年1月1日起至3000年12月31日之间所有对称日
摘要 请稍等:
D. C语言编程1970年1月1日0时0分0秒,输入N秒,要求打印X年X月X日X时X分X秒.
#include <stdio.h>
#include <time.h>
void main()
{
time_t time_last;
time_last = time(NULL);
printf("%ld\n",time_last); //得到1970年到现在的秒数
unsigned long v;
while(1) //方便测试,一直可以输入
{
scanf("%ld",&v);
v = v+60*60*8; //我们位于东八区
int d = v/(60*60*24)+1; //得到距离1970年1月1日到输入秒数的天数
int n = (d+671)/1461; //求中间过了多少个2月29日
int year = (d-n)/365+1970; //得到年份
if((d-n)%365 == 0)
{
year = year -1;
}
int m[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; //定义月份天数表
if((year%400==0)||(year%4==0&&year%100!=0)) //判断平年闰年
{
m[2] = 29;
}
else
{
m[2] = 28;
}
int i;
int da = d - (d-n)/365*365-n; //减去该年前的前天,得到该年的第几天
int month,day;
for(i=0;i<12;i++)
{
if(da > m[i])
{
da = da - m[i]; //让天数减去每月的天数
}
if(da == 0)
{
month = i+1;
day = m[i+1];
}
if(da <= m[i+1] && da != 0) //如果得到小于或等于该月的天数,则可以确定为哪一天
{
month = i+1;
day = da;
break; //确定之后跳出循环
}
}
printf("%d-%d-%d\n",year,month,day);
int hour,minute,second;
hour = v%(3600*24)/3600;
minute = v%3600/60;
second = v%60;
printf("%d:%d:%d\n",hour,minute,second);
}
}
E. c语言得到从1970到当前的毫秒数的函数
time_t time(time_t *);linux下
F. c语言得到将{从1970到现在的毫秒数}转换成年月日时分秒的函数
mktime(struct tm *timeptr)
G. 如何用C语言将已知的年月日,时分秒算出到1970年的毫秒数
有库函数可以直接用,mktime就可以,正巧是基于1970年的,不过算出来的是秒,你转成毫秒就可以了
H. 某一时间至1970年1月1日的秒数怎么算 c语言编写,谢谢
#include<time.h>
#inlcude<stdio.h>
int main()
{
time_t t;
time(&t);
printf("%d",t);
}
time_t实际上是长整型,表示 当前未来一个时间点 距离 1970年1月1日0时0分0秒的秒数。
你可以声明一个tm结构的变量,给这个结构各成员赋值,然后用
time_t mktime(struct tm *);将tm结构转换为time_t 类型,即秒数。
tm结构说明如下:
struct tm {
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
};
I. C语言想输出某一特定时间到1970年1月1日的秒数
前面加上
local = (struct tm *) malloc(sizeof(struct tm));
后面加上
free(local);
J. c语言什么时候诞生的
1972年。
C 语言里的 时间/日期 计算 起点,有个 unix timestamp(unix 时间图章)是 Jan 1, 1970 UTC。所以 c 语言发明时间,应当是 1970年1月1日以后。
1969-1973年在美国电话电报公司(AT&T)贝尔实验室开始了C语言的最初研发。根据C语言的发明者丹尼斯·里奇 (Dennis Ritchie) 说,C 语言最重要的研发时期是在1972年。
细节: 最初的Unix是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的,在移植的过程中遇到不少麻烦。早在对Multics项目调整过程中,就迫切需要一门高级计算机语言做工具,为了解决程序的可移植性问题,肯·汤普逊和丹尼斯·里奇决定对它进行简单改进,形成 “New B” 语言。但 New B 在Unix的移植方面依然不尽人意,此后里奇又对 New B 语言做了改进,C语言诞生。