C获取系统时间及时间格式

合集下载

wincc系统日期时间获取

wincc系统日期时间获取

wincc系统日期时间获取系统时间的获得,有两种办法,一是建立TAG,二是使用函数获取系统时间方法一:在[Tag Management]添加新的驱动"System Info.chn",然后在新添加的[SYSTEM INFO]新建连接,这样就可以创建实际TAG了;下面新建几个TAG: 名字:date, 数据类型:text tag 8-bit character set,地址设定为Function:date,format:"MM-DD-YYYY"名字:time, 数据类型:text tag 8-bit character set,地址设定为Function:Time,format:"HH:MM:SS"根据上面的方法依次建立year,mon,day,week等TAG,请分别设置对应的format内容TAG建立完成了,就可以读到系统时间了。

新建一个图形文件,分别放置几个静态文本框[static text],把TEXT属性连接到上面新建的TAG,就可以显示系统日期时间,利用WEEK还能显示今天是星期几了.方法二: 使用C脚本获得系统时间#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){time_t timer;struct tm *ptm;char *p;time(&timer);ptm=localtime(&timer);p=SysMalloc(9);sprintf(p,"%04d:%02d:%02d",ptm->tm_year+1900,ptm->tm_mon+1,p tm->tm_mday);return(p);}其中//系统时间已经获得//年: ptm -> tm_year+1900//月: ptm-> tm_mon+1//日: ptm -> tm_mday//星期: ptm -> tm_wday *注意这个,tm_wday返回的是整数,必须经过转换才能用来表示星期几。

C实现的根据日期得到今天是星期几

C实现的根据日期得到今天是星期几

算法如下:基姆拉尔森计算公式: W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数。

注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。

但是在测试的时候发现有点出入,就是公式存在一点问题,得稍做修改:W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 +1代码如下:#region根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);) ///<summary>///根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);)///</summary>///<param name="y">年</param>///<param name="m">月</param>///<param name="d">日</param>///<returns></returns>public static string CaculateWeekDay(int y,int m, int d){if(m==1) m=13;if(m==2) m=14;int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;string weekstr="";switch(week){case 1: weekstr="星期一"; break;case 2: weekstr="星期二"; break;case 3: weekstr="星期三"; break;case 4: weekstr="星期四"; break;case 5: weekstr="星期五"; break;case 6: weekstr="星期六"; break;case 7: weekstr="星期日"; break;}return weekstr;}#endregion在开发网站的过程中,如开发新闻网站、论坛、聊天室等,都需要获取当前系统日期,本实例介绍如何获取系统日期并将系统日期用不同的格式显示出来。

C++如何获取当前系统时间及格式化输出

C++如何获取当前系统时间及格式化输出

C++如何获取当前系统时间及格式化输出本⽂主要使⽤time() 及strftime() 函数实现c++获取系统时间。

C++系统和时间相关的函数基本上都是使⽤C语⾔提供的标准接⼝在程序中获取系统时间是常见的操作,很多情况下使⽤系统提供的time函数即可获取。

time() 是系统C语⾔的标准接⼝,通过man time 或者man 2 time 可查看详细的使⽤⽅法。

include <time.h>include <stdio.h>int main(){time_t tt = time(NULL);tm* t=localtime(&tt);printf("%d-%02d-%02d %02d:%02d:%02d\n",t->tm_year + 1900,t->tm_mon + 1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);}将⽂件保存为timetest.cpp,在linux下使⽤g++命令编译:g++timetest.cpp成功会⽣成a.out,执⾏命令即可看到输出:./a.out这是最常⽤的⽅法,当然另外还有其它函数可使⽤,可参考以下函数,这⾥不在详述。

date(1),gettimeofday(2), ctime(3), ftime(3), time(7)时间字符串处理⽤上⾯的time函数获取时间后返回的是tm 的结构体,通常我们需要转换为字符串的⽅式使⽤。

这时strftime可派上⽤场,这个函数常⽤来格式化时间和⽇期。

#include <time.h>#include <stdio.h>#include <stdlib.h>intmain(int argc, charargv[]){char outstr[200];time_t t;tmp;t =time(NULL);tmp =localtime(&t);if (tmp == NULL) {perror("localtime");exit(EXIT_FAILURE);}if (strftime(outstr, sizeof(outstr), argv[1], tmp) == 0) {fprintf(stderr, "strftime returned0");exit(EXIT_FAILURE);}printf("Result string is "%s"\n", outstr);exit(EXIT_SUCCESS);} /* main */使⽤⽅法同上编译,运⾏时出⼊时间格式:$ ./a.out '%m'Result string is "11"$./a.out '%5m'Result string is "00011"$./a.out '%_5m'Result string is " 11"strftime⽀持多种⽇期时间格式,详细如下,需要注意⼤⼩写哦:%a 星期⼏的简写%A 星期⼏的全称%b ⽉分的简写%B ⽉份的全称%c 标准的⽇期的时间串%C 年份的后两位数字%d ⼗进制表⽰的每⽉的第⼏天%D ⽉/天/年%e 在两字符域中,⼗进制表⽰的每⽉的第⼏天%F 年-⽉-⽇%g 年份的后两位数字,使⽤基于周的年%G 年分,使⽤基于周的年%h 简写的⽉份名%H 24⼩时制的⼩时%I 12⼩时制的⼩时%j ⼗进制表⽰的每年的第⼏天%m ⼗进制表⽰的⽉份%M ⼗时制表⽰的分钟数%n 新⾏符%p 本地的AM或PM的等价显⽰%r 12⼩时的时间%R 显⽰⼩时和分钟:hh:mm%S ⼗进制的秒数%t ⽔平制表符%T 显⽰时分秒:hh:mm:ss%u 每周的第⼏天,星期⼀为第⼀天(值从0到6,星期⼀为0)%U 第年的第⼏周,把星期⽇做为第⼀天(值从0到53)%V 每年的第⼏周,使⽤基于周的年%w ⼗进制表⽰的星期⼏(值从0到6,星期天为0)%W 每年的第⼏周,把星期⼀做为第⼀天(值从0到53)%x 标准的⽇期串%X 标准的时间串%y 不带世纪的⼗进制年份(值从0到99)%Y 带世纪部分的⼗制年份%z,%Z 时区名称,如果不能得到时区名称则返回空字符。

linux date参数

linux date参数

linux date参数
Linux的date命令是一个非常实用的工具,可以用来获取和修改系统的时间和日期。

在使用date命令时,可以指定不同的参数来获取不同的结果。

本文将介绍常用的date参数及其用法。

1. +%Y-%m-%d:获取当前日期,格式为年-月-日。

2. +%H:%M:%S:获取当前时间,格式为时:分:秒。

3. -s:设置系统时间。

例如,将系统时间设置为2019年1月1日10点10分10秒,可以使用如下命令:
date -s '20190101 10:10:10'
4. -d:将指定的字符串转换为日期时间格式。

例如,将字符串'2019-01-01 10:10:10'转换为时间戳,可以使用如下命令:
date -d '2019-01-01 10:10:10' +%s
5. -r:显示指定文件的最近修改时间。

例如,显示文件test.txt 的最近修改时间,可以使用如下命令:
date -r test.txt
6. -u:显示UTC时间。

例如,显示当前的UTC时间,可以使用如下命令:
date -u
通过了解和掌握这些常用的date参数,可以更加方便地对Linux 系统的时间和日期进行管理和操作。

- 1 -。

MFC获取系统当前时间

MFC获取系统当前时间
WORD wMilliseconds;
} SYSTEMTIME;
typedef struct _FILETIME {
DWORD dwLowDateTime; /* low 32 bits */
DWORD dwHighDateTime; /* high 32 bits */
原型:time_t GetTime( ) const;
(3)GetYear() 获取CTime对象代表的年。
原型:int GetYear( ) const;
以下(4)至(9)函数原型与GetYear()类似。
(4)GetMonth()获取CTime对象代表的月。
(5)GetDay() 获取CTime对象代表的日期。
MessageBox("今天是周日");
break;
case 2:
MessageBox("今天是周一");
break;
1.使用CTime类
CString str; //获取系统时间
CTime tm; tm=CTime::GetCurrentTime();
str=tm.Format("现在时间是%Y年%m月%d日 %X");
MessageBox(str,NULL,MB_OK);
例2:由年、月、日得到对应的周日。
CTime m_time(2001,2,5,12,0,0);
int weekday=m_time.GetDayOfWeek();
switch(weekday)
{
case 1:
//转化为CTime
CString strTime="2008-7-2 21:59:11";

C语言获取当前系统时间的几种方式

C语言获取当前系统时间的几种方式

C语言中如何获取时间?精度如何?1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精确到毫秒5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒6 要获取高精度时间,可以使用BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)获取系统的计数器的频率BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)获取计数器的值然后用两次计数器的差除以Frequency就得到时间。

7 Multimedia Timer FunctionsThe following functions are used with multimedia timers.timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime//*********************************************************************//用标准C实现获取当前系统时间的函数一.time()函数time(&rawtime)函数获取当前时间距1970年1月1日的秒数,以秒计数单位,存于rawtime 中。

#include "time.h"void main (){time_t rawtime;struct tm * timeinfo;time ( &rawtime );timeinfo = localtime ( &rawtime );printf ( "\007The current date/time is: %s", asctime (timeinfo) );exit(0);}=================#include -- 必须的时间函数头文件time_t -- 时间类型(time.h 定义是typedef long time_t; 追根溯源,time_t是long)struct tm -- 时间结构,time.h 定义如下:int tm_sec;int tm_min;int tm_hour;int tm_mday;int tm_mon;int tm_year;int tm_wday;int tm_yday;int tm_isdst;time ( &rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtimelocaltime ( &rawtime ); -- 转为当地时间,tm 时间结构asctime ()-- 转为标准ASCII时间格式:星期月日时:分:秒年-----------------------------------------------------------------------------二.clock()函数,用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。

Linux系统下C语言获取Time

Linux系统下C语⾔获取Time获取时间的函数有很多,具体包括如下:⼀、gettimeofday()获取当前微秒(us)等级的时间time()/gettimeofday()等等,下⾯是获取具体到usecond的时间程序:#include <iostream>#include <stdio.h>#include <stdlib.h>#include <time.h>#include <sys/time.h>using namespace std;int main() {struct tm *tm;struct timeval tv;gettimeofday(&tv,NULL);tm = localtime(&_sec);printf("[%d-%02d-%02d %02d:%02d:%02d:%02d]\n",tm->tm_year + 1900,tm->tm_mon + 1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec,_usec); return0;}程序中需要引⼊对应的头⽂件:#include <time.h>#include <sys/time.h>程序中调⽤了gettimeofday函数,函数获得的结果保存在结构体tv中,函数会把得到从1970年1⽉1⽇0时0分0秒到现在的秒数返回到第⼀个参数指向的结构体中,第⼆个参数是关于时区,如果不考虑填⼊NULL。

struct timeval结构体的成员如下所⽰:/* A time value that is accurate to the nearestmicrosecond but also has a range of years. */struct timeval{__time_t tv_sec; /* Seconds. */__suseconds_t tv_usec; /* Microseconds. */};包括了两个部分,第⼀部分是second秒,第⼆部分是毫秒usecond。

C语言获取当前系统时间的几种方式

C语言中如何获取时间?精度如何?1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精确到毫秒5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒6 要获取高精度时间,可以使用BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)获取系统的计数器的频率BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)获取计数器的值然后用两次计数器的差除以Frequency就得到时间。

7 Multimedia Timer FunctionsThe following functions are used with multimedia timers.timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime//*********************************************************************//用标准C实现获取当前系统时间的函数一.time()函数time(&rawtime)函数获取当前时间距1970年1月1日的秒数,以秒计数单位,存于rawtime 中。

#include "time.h"void main (){time_t rawtime;struct tm * timeinfo;time ( &rawtime );timeinfo = localtime ( &rawtime );printf ( "\007The current date/time is: %s", asctime (timeinfo) );exit(0);}=================#include -- 必须的时间函数头文件time_t -- 时间类型(time.h 定义是typedef long time_t; 追根溯源,time_t是long)struct tm -- 时间结构,time.h 定义如下:int tm_sec;int tm_min;int tm_hour;int tm_mday;int tm_mon;int tm_year;int tm_wday;int tm_yday;int tm_isdst;time ( &rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtimelocaltime ( &rawtime ); -- 转为当地时间,tm 时间结构asctime ()-- 转为标准ASCII时间格式:星期月日时:分:秒年-----------------------------------------------------------------------------二.clock()函数,用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。

linux 获取时间相关的函数 非库函数

linux 获取时间相关的函数非库函数在Linux系统中,有多种方法可以获取时间相关的函数,这些函数可以帮助我们获得当前的日期、时间以及其他与时间有关的信息。

下面将介绍几个常用的函数。

1. time函数:time函数是C标准库中提供的函数之一,它返回从1970年1月1日00:00:00 UTC到现在的秒数。

我们可以使用time函数来获取当前的时间戳。

2. gettimeofday函数:gettimeofday函数可以获取当前的时间,包括秒数和微秒数。

它返回一个timeval结构体,其中tv_sec字段表示秒数,tv_usec字段表示微秒数。

3. clock_gettime函数:clock_gettime函数可以获取更加精确的时间,它可以返回纳秒级的时间。

我们可以指定不同的时钟类型来获取不同精度的时间,比如CLOCK_REALTIME表示系统实时时间,CLOCK_MONOTONIC表示从系统启动开始的时间。

4. localtime函数:localtime函数可以将时间戳转换为本地时间,返回一个tm结构体,其中包含了年、月、日、时、分、秒等信息。

5. strftime函数:strftime函数可以将tm结构体中的时间信息格式化为指定的字符串,方便我们根据需要输出不同格式的时间。

除了上述提到的函数,还有一些其他的函数也可以用来获取时间相关的信息,比如:gmtime函数用于将时间戳转换为UTC时间,asctime函数用于将tm结构体转换为字符串表示的时间。

这些函数的使用可以根据实际需求选择。

在Linux系统中,我们可以利用这些函数来获取时间相关的信息,它们提供了灵活和精确的方式来处理时间,在编写程序或脚本时非常有用。

无论是获取当前时间还是进行时间格式转换,这些函数都可以帮助我们轻松实现。

VC++获取系统时间、程序运行时间(精确到秒,毫秒)的五种方法

VC++获取系统时间、程序运⾏时间(精确到秒,毫秒)的五种⽅法1.使⽤CTime类(获取系统当前时间,精确到秒)CString str;//获取系统时间CTime tm;tm=CTime::GetCurrentTime();//获取系统⽇期str=tm.Format("现在时间是%Y年%m⽉%d⽇ %X");MessageBox(str,NULL,MB_OK);a,从CTimet中提取年⽉⽇时分秒CTime t = CTime::GetCurrentTime(); int d=t.GetDay(); //获得⼏号 int y=t.GetYear(); //获取年份 int m=t.GetMonth(); //获取当前⽉份 int h=t.GetHour(); //获取当前为⼏时 int mm=t.GetMinute(); //获取分钟 int s=t.GetSecond(); //获取秒 int w=t.GetDayOfWeek(); //获取星期⼏,注意1为星期天,7为星期六b,计算两段时间的差值,可以使⽤CTimeSpan类,具体使⽤⽅法如下:CTime t1( 1999, 3, 19, 22, 15, 0 );CTime t = CTime::GetCurrentTime();CTimeSpan span=t-t1; //计算当前系统时间与时间t1的间隔int iDay=span.GetDays(); //获取这段时间间隔共有多少天int iHour=span.GetTotalHours(); //获取总共有多少⼩时int iMin=span.GetTotalMinutes();//获取总共有多少分钟int iSec=span.GetTotalSeconds();//获取总共有多少秒c,获得当前⽇期和时间,并可以转化为CStringCTime tm=CTime::GetCurrentTime();CString str=tm.Format("%Y-%m-%d");//显⽰年⽉⽇2.使⽤GetLocalTime:Windows API 函数,获取当地的当前系统⽇期和时间(精确到毫秒) 此函数会把获取的系统时间信息存储到SYSTEMTIME结构体⾥边typedef struct _SYSTEMTIME{WORD wYear;//年WORD wMonth;//⽉WORD wDayOfWeek;//星期:0为星期⽇,1为星期⼀,2为星期⼆……WORD wDay;//⽇WORD wHour;//时WORD wMinute;//分WORD wSecond;//秒WORD wMilliseconds;//毫秒}SYSTEMTIME,*PSYSTEMTIME;例: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) ;AfxMessageBox(strDate);AfxMessageBox(strTime);3.使⽤GetTickCount:从操作系统启动到现在所经过(elapsed)的毫秒数,它的返回值是DWORD。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、新建一个windows form 窗体应用程序。

2、在该窗体加载时,输入如下代码
[csharp] view plaincopy
Thread P_thread = new Thread(
() => //lambda表达式(参数列表)=>{执行语句} lambda表达式是比匿名方法更加简洁的一种匿名函数语法
{
while (true)
{//public Object Invoke (Delegate method)在(拥有此控件的基础窗口句柄的)线程上执行指定的委托。

//关于为何使用invoke方法,参见C#中跨线程调用控件的线程安全性方法一文
this.Invoke(
(MethodInvoker)delegate()//methodinvoke 表示一个委托,该委托可执行托管代码中声明为void 且不接受任何参数的任何方法。

//在对控件的Invoke 方法进行调用时或需要一个简单委托又不想自己定义时可以使用该委托。

{
this.Refresh();
Graphics P_Graphics = CreateGraphics();
// Control.CreateGraphics方法,为控件创建Graphics。

//public Graphics CreateGraphics () 返回值为控件的Graphics。

Graphics 类提供将对象绘制到显示设备的方法
//public void DrawString(
// string s,
// Font font,
// Brush brush,
// PointF point
//)在指定位置point并且用指定的Brush 和Font 对象绘制指定的文本字符串s。

P_Graphics.DrawString("系统时间:" + DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒"),
new Font("宋体", 15),
Brushes.Blue,
new Point(10, 10));
});//this.invoke
Thread.Sleep(1000);
}//while
});//new thread
P_thread.IsBackground = true;
P_thread.Start();
结果如图:动态显示当前系统的日期和时间。

相关文档
最新文档