當前位置:首頁 » 操作系統 » linuxc獲取時間

linuxc獲取時間

發布時間: 2023-08-22 04:39:28

『壹』 linuxc語言怎麼獲取文件創建時間

在 Windows 下,一個文件有創建時間、修改時間、訪問時間。而在 Linux 下,一個文件也有三種時間,分別是訪問時間(Access)、修改時間(Modify)、狀態改變時間(Change)。

可以使用 stat 命令查看文件的訪問時間、修改時間和狀態改變時間。

本人使用的機器的磁碟分區使用的文件系統類型是 ext3,也就是說本人是無法查看文件創建時間的。但是,如果文件創建後就沒有修改過,修改時間=創建時間;如果文件創建後,狀態就沒有改變過,那麼狀態改變時間=創建時間;如果文件創建後,沒有被讀取過,那麼訪問時間=創建時間,當這個基本不太可能。

那什麼時候訪問時間,修改時間和狀態改變時間會變化呢?比如我們使用vi打開文件但不編輯,那麼退出後文件的訪問時間就會改變;比如我們使用vi打開文件並且編輯後保存退出,那麼文件的修改時間就會改變,當然訪問時間也改變了;再比如使用chmod +x給文件增加可執行的屬性,那麼文件的狀態改變時間就會改變。

【答題不易,請採納謝謝】

『貳』 在Linux下, 用C如何設置日期

1.時間表示

在程序當中,我們經常要輸出系統當前的時間,比如我們使用date命令的輸出結果.這個時候我們可以使用下面兩個函數:

#include
time_t time(time_t *tloc);
char *ctime(const time_t *clock);

time函數返回從1970年1月1日0點以來的秒數.存儲在time_t結構之中.不過這個函數的返回值對於我們來說沒有什麼實際意義.這個時候我們使用第二個函數將秒數轉化為字元串. 這個函數的返回類型是固定的:一個可能值為.Thu Dec7 14:58:59 2000 這個字元串的長度是固定的為26.

2.時間的測量
有時候我們要計算程序執行的時間.比如我們要對演算法進行時間分析.這個時候可以使用下面這個函數. #include int gettimeofday(struct timeval *tv,struct timezone *tz); strut timeval { long tv_sec; /* 秒數 */ long tv_usec; /* 微秒數 */ }; gettimeofday將時間保存在結構tv之中.tz一般我們使用NULL來代替. #include #include #include void function() { unsigned int i,j; double y; for(i=0;i<1000;i++) for(j=0;j<1000;j++) y=sin((double)i); } main() { struct timeval tpstart,tpend; float timeuse; gettimeofday(&tpstart,NULL); function(); gettimeofday(&tpend,NULL); timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+ tpend.tv_usec-tpstart.tv_usec; timeuse/=1000000; printf("Used Time:%f\n",timeuse); exit(0); }

這個程序輸出函數的執行時間,我們可以使用這個來進行系統性能的測試,或者是函數演算法的效率分析.在我機器上的一個輸出結果是: Used Time:0.556070

『叄』 c語言怎麼設置linux系統時間

可以調用函數

settimeofday

intsettimeofday(conststructtimeval*tv,conststructtimezone*tz);
structtimeval{
time_ttv_sec;/*secondssinceJan.1,1970*/
suseconds_ttv_usec;/*微妙*/
};

也可以用system調用系統命令date

『肆』 在linux下怎樣用c語言獲取MP3時長最好有個例子!

1、主要是要解析MP3格式,計算MP3文件長度,然後根據播放每幀需 26ms,計算出播放時間。文件IO讀寫,就用fopen\fread系列酒可以。

2、#include <mmsystem.h>//包括多媒體API,標准c語言沒有相關介面函數
unsigned char str[256];
sprintf(timebuffer,"status %s position",MusicName);//timebuffer輸出緩存區,格式字元串到timebuffer,MusicName為播放歌曲的完整路徑
mciSendString(Music,str,256,NULL);//獲取時間,單位為毫秒
curtime=atoi(str)/1000;//單位化為秒,後面可以根據需要處理時間

『伍』 linux 系統時間 查看

一、查看和修改Linux的時區
1. 查看當前時區
命令 : "date -R"
2. 修改設置Linux伺服器時區
方法 A
命令 : "tzselect"
方法 B 僅限於RedHat Linux 和 CentOS
命令 : "timeconfig"
方法 C 適用於Debian
命令 : "dpkg-reconfigure tzdata"
3. 復制相應的時區文件,替換系統時區文件;或者創建鏈接文件
cp /usr/share/zoneinfo/$主時區/$次時區 /etc/localtime
例如:在設置中國時區使用亞洲/上海(+8)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

二、查看和修改Linux的時間
1. 查看時間和日期
命令 : "date"
2.設置時間和日期
例如:將系統日期設定成2009年11月3日的命令
命令 : "date -s 11/03/2009"
將系統時間設定成下午5點55分55秒的命令
命令 : "date -s 17:55:55"
3. 將當前時間和日期寫入BIOS,避免重啟後失效
命令 : "hwclock -w"

註:
date
不加參數可以直接看到當前日期時間
cal
不加參數可以直接看到本月月歷

『陸』 在LINUX下用C++編程,如何獲取系統當前的時間。

//方案— 優點:僅使用C標准庫;缺點:只能精確到秒級
#include <time.h>
#include <stdio.h>
int main( void )
{
time_t t = time(0);
char tmp[64];
strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) );
puts( tmp );
return 0;
}
size_t strftime(char *strDest, size_t maxsize, const char *format, const struct tm *timeptr);
根據格式字元串生成字元串。
struct tm *localtime(const time_t *timer);
取得當地時間,localtime獲取的結果由結構tm返回
返回的字元串可以依下列的格式而定:
%a 星期幾的縮寫。Eg:Tue
%A 星期幾的全名。 Eg: Tuesday
%b 月份名稱的縮寫。
%B 月份名稱的全名。
%c 本地端日期時間較佳表示字元串。
%d 用數字表示本月的第幾天 (范圍為 00 至 31)。日期
%H 用 24 小時制數字表示小時數 (范圍為 00 至 23)。
%I 用 12 小時制數字表示小時數 (范圍為 01 至 12)。
%j 以數字表示當年度的第幾天 (范圍為 001 至 366)。
%m 月份的數字 (范圍由 1 至 12)。
%M 分鍾。
%p 以 ''AM'' 或 ''PM'' 表示本地端時間。
%S 秒數。
%U 數字表示為本年度的第幾周,第一個星期由第一個周日開始。
%W 數字表示為本年度的第幾周,第一個星期由第一個周一開始。
%w 用數字表示本周的第幾天 ( 0 為周日)。
%x 不含時間的日期表示法。
%X 不含日期的時間表示法。 Eg: 15:26:30
%y 二位數字表示年份 (范圍由 00 至 99)。
%Y 完整的年份數字表示,即四位數。 Eg:2008
%Z(%z) 時區或名稱縮寫。Eg:中國標准時間
%% % 字元。

//方案二 優點:能精確到毫秒級;缺點:使用了windows API
#include <windows.h>
#include <stdio.h>
int main( void )
{
SYSTEMTIME sys;
GetLocalTime( &sys );
printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute, sys.wSecond,sys.wMilliseconds,sys.wDayOfWeek);
return 0;
}

//方案三,優點:利用系統函數,還能修改系統時間
//此文件必須是c++文件
#include<stdlib.h>
#include<iostream>
using namespace std;
void main()
{
system("time");
}

//方案四,將當前時間折算為秒級,再通過相應的時間換算即可
//此文件必須是c++文件
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
time_t now_time;
now_time = time(NULL);
cout<<now_time;
return 0;
}

『柒』 Linux下C語言獲得系統時間的方法

沒有完整程序, 不過能提供一點資料

int gettimeofday(struct timeval * tv,struct timezone *tz);
這個函數可以獲取當前時間, 貌似只要第一個結構體就行了

struct timeval
{
time_t tv_sec; //秒 [long int]
suseconds_t tv_usec; //微秒 [long int], (10E-6 second)
};
struct timeval
{
long tv_sec;
long tv_usec;
};

然後取微秒的前三位就是小數了, 之後把秒 tv_sec 轉化為 tm 格式, 參數用秒的指針就行

struct tm * gmtime(const time_t * t);
//轉換成格林威治時間。有時稱為GMT或UTC。
struct tm * localtime(const time_t *t);
//轉換成本地時間。它可以透過修改TZ環境變數來在一台機器中,不同使用者表示不同時間.

下面是tm的部分參數

int tm_sec; //tm_sec表「秒」數,在[0,61]之間,多出來的兩秒是用來處理跳秒問題用的。/* Seconds: 0-59 (K&R says 0-61?) */
int tm_min; //tm_min表「分」數,在[0,59]之間。
int tm_hour; //tm_hour表「時」數,在[0,23]之間。
int tm_mday; //tm_mday表「本月第幾日」,在[1,31]之間。
int tm_mon; //tm_mon表「本年第幾月」,在[0,11]之間。
int tm_year; //tm_year要加1900表示那一年。 /* /* 年份,其值從1900開始 */*/
int tm_wday; //tm_wday表「本周第幾日」,在[0,6]之間。 /* Days since Sunday (0-6) */ /*其中0代表星期天,1代表星期一,以此類推 */
int tm_yday; //tm_yday表「本年第幾日」,在[0,365]之間,閏年有366日。 /*其中0代表1月1日,1代表1月2日,以此類推 */*/
int tm_isdst; //tm_isdst表是否為「日光節約時間」

------------------------------華麗麗的分割線--------------------------------------------------
由於很長時間沒編程了, 也沒有Linux環境, 我就簡單寫幾行代碼, 僅作參考

#include <stdio.h>
#include <time.h>
#include <sys/time.h>
#include<unistd.h>
//這四個不一定夠用了

struct timeval tv;
struct timezone tz;
struct tm * p_tm;
//變數沒有初始化習慣不好,不要學

gettimeofday(&tv, &tz);
p_tm = gmtime( (const time_t *)&tv.tv_sec );

字元串的組裝尤其格式問題自己解決吧
年 p_tm->tm_year+ 1900
月 p_tm->tm_mon+ 1
日 p_tm->tm_mday
時 p_tm->tm_hour+ 1
分 p_tm->tm_min+ 1
秒 p_tm->tm_sec+ 1
小數點後面的部分,注意不夠三位還是前面填充0 tv.tv_sec/1000

熱點內容
phpsession目錄 發布:2025-03-09 09:25:35 瀏覽:892
dpc壓縮機 發布:2025-03-09 09:25:34 瀏覽:602
pythondictinlist 發布:2025-03-09 09:24:05 瀏覽:938
單身解壓 發布:2025-03-09 09:19:24 瀏覽:431
圖片分布式存儲方案 發布:2025-03-09 08:54:49 瀏覽:59
火影手游競技場腳本 發布:2025-03-09 08:48:31 瀏覽:744
電腦如何訪問谷歌 發布:2025-03-09 08:39:37 瀏覽:174
安卓怎麼多開微信 發布:2025-03-09 08:34:02 瀏覽:595
怎麼看金蝶伺服器的ip地址 發布:2025-03-09 08:33:59 瀏覽:270
pyc在線反編譯 發布:2025-03-09 08:33:17 瀏覽:934