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語言誕生。