`

获取系统时间

阅读更多

1、如何获取系统时间

 

1.使用CTime类

CString str;
//获取系统时间
CTime tm;
tm=CTime::GetCurrentTime();
str=tm.Format("现在时间是%Y年%m月%d日 %X");
MessageBox(str,NULL,MB_OK);

2: 得到系统时间日期(使用GetLocalTime)

SYSTEMTIME st;
CString strDate,strTime;
GetLocalTime(&st);
strDate.Format("%4d-%2d-%2d",st.wYear,st.wMonth,st.wDay);
strTime.Format("%2d:%2d:%2d",st.wHour,st.wMinute,st.wSecond);

3.使用GetTickCount
//获取程序运行时间
long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)
Sleep(500);
long t2=GetTickCount();();//程序段结束后取得系统运行时间(ms)
str.Format("time:%dms",t2-t1);//前后之差即 程序运行时间
AfxMessageBox(str);
//获取系统运行时间
long t=GetTickCount();
CString str,str1;
str1.Format("系统已运行 %d时",t/3600000);
str=str1;
t%=3600000;
str1.Format("%d分",t/60000);
str+=str1;
t%=60000;
str1.Format("%d秒",t/1000);
str+=str1;
AfxMessageBox(str);


如何在VC6.0中得到一个程序的运行时间,也就是这个程序耗费的时钟周期数// C和C++的时间编程

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
time_t begin,end;
begin=clock();
//这里加上你的代码
end=clock();
cout<<"runtime: "<<double(end-begin)/CLOCKS_PER_SEC<<endl;
}


unix时间相关,也是标准库的
这些在<time.h>
1.timegm函数只是将struct tm结构转成time_t结构,不使用时区信息;
time_t timegm(struct tm *tm);

2.mktime使用时区信息
time_t mktime(struct tm *tm);

timelocal 函数是GNU扩展的与posix函数mktime相当
time_t timelocal (struct tm *tm);

3.gmtime函数只是将time_t结构转成struct tm结构,不使用时区信息;
struct tm * gmtime(const time_t *clock);

4.localtime使用时区信息
struct tm * localtime(const time_t *clock);

1.time获取时间,stime设置时间
time_t t;
t = time(&t);
2.stime其参数应该是GMT时间,根据本地时区设置为本地时间;
int stime(time_t *tp)

3.UTC=true 表示采用夏时制;
4.文件的修改时间等信息全部采用GMT时间存放,不同的系统在得到修改时间后通过localtime转换成本地时间;
5.设置时区推荐使用setup来设置;
6.设置时区也可以先更变/etc/sysconfig/clock中的设置 再将ln -fs /usr/share/zoneinfo/xxxx/xxx /etc/localtime 才能重效

time_t只能表示68年的范围,即mktime只能返回1970-2038这一段范围的time_t
看看你的系统是否有time_t64,它能表示更大的时间范围


Window里面的一些不一样的

CTime MFC类,好像就是把time.h封了个类,没扩展
CTime t = GetCurrentTime();

SYSTEMTIME 结构包含毫秒信息
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;

SYSTEMTIME t1;
GetSystemTime(&t1)
CTime curTime(t1);
WORD ms = t1.wMilliseconds;

SYSTEMTIME sysTm;
::GetLocalTime(&sysTm);


在time.h中的_strtime() //只能在windows中用
char t[11];
_strtime(t);
puts(t);

------------------------------------------------------------------------------
_timeb定义在SYS\TIMEB.H,有四个fields
dstflag
millitm
time
timezone

void _ftime( struct _timeb *timeptr );

struct _timeb timebuffer;
   _ftime( &timebuffer );
取当前时间:文档讲可以到ms,有人测试,好象只能到16ms!


-------------------------------------------------------------------------
如何设定当前系统时间---windows
SYSTEMTIME m_myLocalTime,*lpSystemTime;
    m_myLocalTime.wYear=2003;
    m_myLocalTime.wMonth=1;
    m_myLocalTime.wDay=1;
    m_myLocalTime.wHour=0;
    m_myLocalTime.wMinute=0;
    m_myLocalTime.wSecond=0;
    m_myLocalTime.wMilliseconds=0;
    lpSystemTime=&m_myLocalTime;
    if( SetLocalTime(lpSystemTime) ) //此处换成 SetSystemTime( )也不行
       MessageBox("OK !");
    else
       MessageBox("Error !");


SYSTEMTIME m_myLocalTime,*lpSystemTime;
m_myLocalTime.wYear=2003;
m_myLocalTime.wMonth=1;
m_myLocalTime.wDay=1;
lpSystemTime=&m_myLocalTime;
if( SetDate(lpSystemTime) ) //此处换成 SetSystemTime( )也不行
    MessageBox("OK !");
else
    MessageBox("Error !");


-----------------------------------------------------------------------------
用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。
clock_t clock ( void );

#include <time.h>
clock_t t = clock();
long sec = t / CLOCKS_PER_SEC;
他是记录时钟周期的,实现看来不会很精确,需要试验验证;

---------------------------------------------------------------------------
据说tc2.0的time结构含有毫秒信息
#include   <stdio.h>
#include   <dos.h>

int main(void)
{
   struct time t;

   gettime(&t);
   printf("The current time is: %2d:%02d:%02d.%02d\n",
          t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
   return 0;
}
time 是一个结构体,, 其中成员函数 ti_hund 是豪秒。。。上程序可以在tc2.0运行

--------------------------------------------------------------------------------
这个是windows里面常用来计算程序运行时间的函数;
DWORD dwStart = GetTickCount();

//这里运行你的程序代码

DWORD dwEnd = GetTickCount();

则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位
这个函数只精确到55ms,1个tick就是55ms。

--------------------------------------------------------------------------------
timeGetTime()基本等于GetTickCount(),但是精度更高
DWORD dwStart = timeGetTime();

//这里运行你的程序代码

DWORD dwEnd = timeGetTime();

则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位
虽然返回的值单位应该是ms,但传说精度只有10ms。

分享到:
评论

相关推荐

    易语言获取系统时间到毫秒

    在编程领域,获取系统时间是一项基础且重要的任务。易语言是一种中文编程语言,它提供了简单易懂的语法,使得初学者也能快速上手。本文将详细介绍如何使用易语言获取系统时间到毫秒,并探讨相关知识点。 首先,我们...

    LINUX 下C++ 获取系统时间和设置时间

    在C++中,我们可以使用C标准库中的`&lt;ctime&gt;`头文件来获取系统时间。`std::time_t`类型代表了自1970年1月1日(UTC)以来的秒数。以下是一个简单的示例: ```cpp #include #include int main() { std::time_t now...

    WPF获取系统时间

    在WPF中获取系统时间是一个常见的需求,这通常涉及到C#编程语言以及XAML(可扩展应用程序标记语言)的设计与逻辑处理。 在给出的文件内容中,主要介绍了如何在WPF应用程序中显示系统时间,这里涉及了两个关键点: ...

    C++获取系统时间 很全面的哦

    根据提供的标题、描述、标签及部分内容,我们可以总结出以下关于使用C++获取系统时间的相关知识点: ### C++ 获取系统时间的全面方法 在C++中,获取系统时间可以通过多种方式实现,包括使用标准库函数、Windows ...

    C or C++获取系统时间

    C or C++获取系统时间 C 或 C++ 获取系统时间是指在编程语言 C 或 C++ 中获取当前系统时间的方法。获取系统时间是许多应用程序的基本需求,例如日志记录、时间戳、计划任务等。 在 C 或 C++ 中,获取系统时间有...

    sntp.zip(ESP32获取系统时间)

    在"ESP32获取系统时间"这个项目中,开发者创建了一个DEMO来演示如何在ESP32上设置和更新系统时间。DEMO可能包括以下步骤: 1. **配置环境**:首先,你需要一个支持ESP32开发的环境,如Arduino IDE或PlatformIO。...

    Js获取系统时间和获取本地IP

    Js 获取系统时间和获取本地IP Js 获取系统时间是指在 JavaScript 中获取当前系统的时间,包括年月日、星期、时分秒等信息。通过使用 Date 对象,可以轻松地获取当前时间。 在上面的例子中,使用了一个名为 ...

    高性能获取系统时间

    总的来说,优化获取系统时间的方法取决于具体的应用场景和性能需求。在选择优化策略时,应充分考虑精度、性能和代码复杂性的平衡,以达到最佳的系统效率。同时,进行充分的基准测试以确保优化措施的实际效果也是必不...

    获取系统时间的几个方法

    在IT领域,特别是软件开发中,获取系统时间是常见的需求之一。不同的编程环境提供了多种方法来实现这一功能,本文将详细介绍在Visual C++环境中获取系统时间的四种常见方法及其优缺点,帮助开发者根据具体需求选择最...

    Qt 获取系统时间

    用Qt做的一个简单的获取系统时间窗口,LCd显示widget

    JAVA获取系统时间.txt

    ### JAVA获取系统时间知识点详解 在Java编程语言中,获取并格式化系统当前时间是一项非常基础且常用的操作。本文档将详细介绍如何利用Java内置类来实现这一功能,并深入探讨其中涉及的重要概念和技术细节。 #### ...

    ASP.NET中获取系统时间

    在ASP.NET中获取系统时间是开发人员经常遇到的需求之一。本文将详细介绍如何使用C#语言中的`DateTime`类来获取并格式化当前时间,并展示如何提取时间的不同部分以及执行一些基本的时间操作。 ### 一、简介 在C#中...

    java 获取系统时间错误,少了8小时

    在Java编程中,获取系统时间的操作通常是通过`java.util.Date`类或`java.time`包下的类来实现的。然而,标题"java 获取系统时间错误,少了8小时"表明开发者在尝试获取系统时间时遇到了一个时区问题。这通常与Java中...

    JavaScript获取系统时间(转载)

    在探讨如何利用JavaScript获取系统时间之前,我们先来理解一下JavaScript中的Date对象,它是处理日期和时间的关键。Date对象提供了多种方法,可以用来获取当前或指定的日期和时间信息,包括年、月、日、小时、分钟、...

    wincc获取时间_wincc时间_wincc获取系统时间_WinCC_

    本文将详细讲解如何在WinCC中通过C脚本和变量来获取系统时间,帮助您深入理解WinCC的时间处理功能。 1. **WinCC时间概念** 在WinCC中,时间是表示事件发生顺序的基本单位,通常以小时、分钟、秒和毫秒的形式表示。...

    ue4获取系统时间的代码.rar

    这个是ue4通过c++获取系统时间的类,官方封装了的,只需要用个静态函数把那个名为FDataTime的类返回出来就可以在蓝图里自由运用了,如果说的这些能明白是啥意思就不用了花这一个积分了,如果还不明白,就下载看看吧...

    java/jsp获取系统时间大全(已测试)

    在Java和JSP编程中,获取系统时间是一项基础但至关重要的任务。这涉及到日期和时间处理,对于构建动态网页和应用程序来说是常见的需求。本文将深入探讨如何在Java和JSP中有效地获取系统时间。 首先,Java提供了`...

    ASP获取系统时间方法总结

    ### ASP获取系统时间方法总结 在ASP编程中,获取系统时间是常见的需求之一。无论是用于记录操作的时间戳、实现定时任务还是展示当前时间,掌握如何有效地获取系统时间都是必不可少的技能。本文将详细介绍几种在ASP...

    利用c++获取系统时间

    利用c++写的一个有关获取系统时间的类,使用时可直接在主函数文件中调用。

Global site tag (gtag.js) - Google Analytics