barriers / 阅读 / 详情

mfc计算运算时间

2023-07-29 18:21:08
共4条回复
snjk

计算前和计算后分别获取当前时间,然后用时间相减

inline __int64 TimeDiff(SYSTEMTIME left,SYSTEMTIME right)

{

CTime tmLeft(left.wYear,left.wMonth,left.wDay,0,0,0);

CTime tmRight(left.wYear,left.wMonth,left.wDay,0,0,0);

CTimeSpan sp;

sp = tmLeft - tmRight;//计算日期比较麻烦,就交给MFC去做吧

long lLMinllis = (left.wHour*3600 + left.wMinute*60 + left.wSecond)*1000 + left.wMilliseconds;

long lRMinllis = (right.wHour*3600 + right.wMinute*60 + right.wSecond)*1000 + right.wMilliseconds;

return (__int64)sp.GetDays()*86400000 + (lLMinllis - lRMinllis);

}

max笔记

法一 利用GetTickCount数 long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)

。。。。。。//to do sth

long t2=GetTickCount();//程序段结束后取得系统运行时间(ms)

cout<<t2-t1<<endl;//前后之差即程序运行时间

。。。

法二 利用C/C++计时函数

函数/参数说明

clock()

C/C++计时函数,与其相关的数据类型是clock_t

返回:从"此程序进程开启"到"程序中调用clock()函数"之间CPU计时单元数,MSDN中称挂钟时间(wal-clock)

clock_t

用来保存时间的数据类型,在time.h中定义:typedef long clock_t; 为长整型

CLOCKS_PER_SEC

用来表示一秒钟会有多少个时钟计时单元,在time.h中定义:#define CLOCKS_PER_SEC ((clock_t)1000) 法三 利用CTime类 获取系统时间CString str;

//获取系统时间

CTime tm;

tm=CTime::GetCurrentTime();

str=tm.Format("现在时间是%Y年%m月%d日 %X");

AfxMessageBox(str);

法四 利用GetLocalTime类 获取系统时间

coco

计算前和计算后分别获取当前时间,然后用时间相减

inline __int64 TimeDiff(SYSTEMTIME left,SYSTEMTIME right)

{

CTime tmLeft(left.wYear,left.wMonth,left.wDay,0,0,0);

CTime tmRight(left.wYear,left.wMonth,left.wDay,0,0,0);

CTimeSpan sp;

sp = tmLeft - tmRight;//计算日期比较麻烦,就交给MFC去做吧

long lLMinllis = (left.wHour*3600 + left.wMinute*60 + left.wSecond)*1000 + left.wMilliseconds;

long lRMinllis = (right.wHour*3600 + right.wMinute*60 + right.wSecond)*1000 + right.wMilliseconds;

return (__int64)sp.GetDays()*86400000 + (lLMinllis - lRMinllis);

}

ardim

可以定义2个时间变量

time_t start,end;

start=time(NULL);

{

你要就算的程序代码

}

end=time(NULL);

end-start 就是你要的 也是精确到秒

---------------------------------------

不过一般的小程序都是不到1秒的,最好用那种精确到毫秒的函数比较直观点

clock_t start,end;

start=clock();

{

你要就算的程序代码

}

end=clock();

(double)(finish - start) / CLOCKS_PER_SEC

就是你要的 是精确到毫秒

还有疑问请参考资料

相关推荐

请教大智慧 currenttime 函数

在VC中,我们可以借助CTime时间类,获取系统当前日期,具体使用方法如下: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为星期六
2023-07-29 00:24:551

html5 视频currenttime设置失效,为什么自动变为0?

有可能是浏览器问题,我用Chrome也遇到了这个问题,换成IE就可以了。
2023-07-29 00:25:046

java中.currentTimeMillis的用法和含义

这个应该是system中的方法。用来往数据库中存储时间的好方法!
2023-07-29 00:25:204

假设当前时间是2015 年5月12日,编写一个CurrTime类,设置属性为该时间,定义show方

package test02;public class CurrentTime {int year;int month;int day;int hours;int mintues;double s;public void show(){System.out.println(+year+"年"+month+"月"+day+"日"+hours+"点"+mintues+"分"+s+"秒");}}package test02;public class CurrentTimess {public static void main(String[] args) {CurrentTime kk=new CurrentTime();kk.year=2015;kk.month=5;kk.day=12;kk.hours=10;kk.mintues=11;kk.s=00;kk.show();}}我的这个应该更容易理解把
2023-07-29 00:25:282

mysql中的sql问,如果想用系统时间,我这个语句对么

Update T_SYUTYOU set UPDATE_DATE = NOW()
2023-07-29 00:25:374

System.currentTimeMillis() uptimeMillis() elapsedRealtime() 区别

System.currentTimeMillis() 系统时间,也就是日期时间,可以被系统设置修改,然后值就会发生跳变。 uptimeMillis 自开机后,经过的时间,不包括深度睡眠的时间 elapsedRealtime自开机后,经过的时间,包括深度睡眠的时间 所以System.currentTimeMillis()不适合计算时间间隔,eg, now = System.currentTimeMillis() //do something... duration = System.currentTimeMillis() -now; 如果在do something的时候,改变了系统时间,那么 获取duration就不准了。通常在比较小的时间里,(毫秒级,秒级)一般不会有什么问题,系统时间可能不会改变。但是如果时间很长的话,那就保证不了了 uptimeMillis由于不计算睡眠时间,所以非常适合做一些特殊的时间间隔计算 elapsedRealtime 包括睡眠时间,适用于任何情况下的时间间隔计算
2023-07-29 00:25:451

如何转换的System.currentTimeMillis;到秒

System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。currentTimeMillis方法public static long currentTimeMillis()该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。可以直接把这个方法强制转换成date类型。代码如下:long currentTime = System.currentTimeMillis();SimpleDateFormat formatter = new SimpleDateFormat("yyyy年-MM月dd日-HH时mm分ss秒");Date date = new Date(currentTime);System.out.println(formatter.format(date));运行结果如下:当前时间:2011年-08月10日-14时11分46秒另:可获得当前的系统和用户属性:String osName = System.getProperty(“os.name”);  String user = System.getProperty(“user.name”);  System.out.println(“当前操作系统是:” + osName);  System.out.println(“当前用户是:” + user);System.getProperty 这个方法可以得到很多系统的属性。
2023-07-29 00:25:541

asp.net时间判断的问题

好好想想的说!
2023-07-29 00:26:027

System.currentTimeMillis与时区设置是否有关系

System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。 currentTimeMillis方法 public static long currentTimeMillis() 该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间
2023-07-29 00:26:182

C++ 如何从系统获取当前时间,要年月日,不要小时,分钟,秒的。

CTime类有一个静态函数GetCurrentTime();然后使用Format
2023-07-29 00:26:383

html5的audio如何获取currentTime的时间而且单位是毫秒

可以转换1s=1000ms
2023-07-29 00:26:462

VC++6.0中COleDateTime::GetCurrentTime()的问题

重新安装VC++
2023-07-29 00:26:543

java的System.currentTimeMillis()和System.nanoTime()有什么区别

System.currentTimeMillis(); 产生一个自1970年1月1日0时起到当前的毫秒。 DK1.5之后java中的计时给出了更精确的方法:System.nanoTime(),输出的精度是纳秒级别System.currentTime(),这个方法,它的精度是毫秒,返回值是从1970.1.1的零点开始到当前时间的毫秒数,理论上这个可以用来算当前的时间,而且可以用这个值来构造一个Date对象。但是System.nanoTime()却是不同,代码注释上有这么一句: The value returned represents nanoseconds since some fixed but arbitrary time (perhaps in the future, so values may be negative). 这个返回值是一个从确定的值算起的,但是这个值是任意的,可能是一个未来的时间,所以返回值有可能是负数。(我的英语很蹩脚,意思应该能明白吧)所以说这个System.nanoTime()方法只能用来计时,例如: long s = System.nanoTime(); .... System.out.println(System.nanoTime() - s);
2023-07-29 00:27:011

currenttimemillis 与gettime

当然用前一个 你可以看看Date的源码 Date的空构造方法也是调用前一个方法的 大概是: this(System.currentTimeMillis()); 如果你仅仅是算时间差,就用第一个 变动得很厉害 就说明你的程序里存在着变动很大的东西,比如网络连接之类的 简单的办法就是运行个1000遍,求其平均值
2023-07-29 00:27:091

谁能帮我解释下这段C语言代码

"是个延时程序。#include<REGX52.H>#include"LCD1602.h"#include"DS1302.h"//头文件。voidDelay1ms(unsignedintcount){unsignedinti,j;for(i=0;i<count;i++)for(j=0;j<120;j++);}//延时函数,就是让计算机进行count*120次运算。main(){SYSTEMTIMECurrentTime;//定义系统(System)时间变量LCD_Initial();//应当是个初始化Initial_DS1302();GotoXY(0,0);//光标移动到00Print("Date:");//输出GotoXY(0,1);//01Print("Time:");//输出while(1)//循环{DS1302_GetTime(&CurrentTime);DateToStr(&CurrentTime);//获取系统(System)日期TimeToStr(&CurrentTime);//获取系统(System)时间GotoXY(6,0);Print(CurrentTime.DateString);//输出系统(System)日期GotoXY(6,1);Print(CurrentTime.TimeString);//输出系统(System)时间Delay1ms(300);//调出使用函数进行延时}}"
2023-07-29 00:27:172

System.nanoTime()与System.currentTimeMillis()的区别

System.nanoTime()的初始值是在 本JVM实例 启动时"随机"选择的一个数字,随着JVM的运行而变化,System.currentTimeMillis表示系统时间,这就导致了的它们的几个差别: 基于System.nanoTime()系统时间不敏感的特性,它被广泛应用在需要相对时间的场景中,如ScheduledThreadPoolExecutor,在0点0分添加一个1小时后执行的任务,那么只有在系统运行1小时后,它才会被触发,在此期间无论如何修改系统时间都不会影响. 【填坑纪事】一次用System.nanoTime()填坑System.currentTimeMills()的实例记录
2023-07-29 00:27:241

java System.currentTimeMillis()时间获取问题

System.currentTimeMillis() 返回的是 UTC 时间,你需要在此基础上加8小时就是对了。
2023-07-29 00:27:331

JAVA System.currentTimeMillis()语句

前面加个(-1)
2023-07-29 00:27:413

java的System.currentTimeMillis()是获得返回从 UTC 1970 年 1 月 1 日午夜开始经过的毫秒数,c#应怎么写

private void Form1_Load(object sender, EventArgs e) { DateTime t1 = new DateTime(); t1 = Convert.ToDateTime(("1971-01-01 08:00:00")); label1.Text = ((System.DateTime.Now.Ticks - t1.Ticks) / 10000).ToString(); }用 ticks,行不?
2023-07-29 00:27:591

怎么把date 类型转换成 currentTimeMillis()

currentTimeMillis()是System类中的方法。不是类型。。如果楼主想要知道当前时间的毫秒表示形式可以直接调用这个函数long time = System.currentTimeMillis();
2023-07-29 00:28:072

java currenttimemillis会重复吗

longl=System.currentTimeMillis();Datedate=newDate(l);Calendarcal=Calendar.getInstance();cal.setTime(date);System.out.println(cal.get(Calendar.YEAR));System.out.println(cal.get(Calendar.MONTH)+1);//月份计算是从0作为1开始的。System.out.println(cal.get(Calendar.DATE));System.out.println(cal.get(Calendar.HOUR));System.out.println(cal.get(Calendar.MINUTE));System.out.println(cal.get(Calendar.SECOND));
2023-07-29 00:28:141

System.currentTimeMillis() 与 new Date().getTime() 有何差异?

你这个问题估计是并发访问导致的,如果想知道运算时间,要么加锁,要么单线程执行。
2023-07-29 00:28:224

帮我说明一下这个指标公式的用法和解释一下原理。十分感谢!

这个公式主要的作用就是解决大智慧没有盘中虚拟成交量。说白了就是在盘中根据当前交易时间和已成交的数量,来虚拟全天的成交量多少。这样用起来比较直观一些。我也在用大智慧,也在使和楼主类似的指标在看虚拟成交量。
2023-07-29 00:28:302

根据System.currentTimeMillis()获取当前毫秒数,在控制台输出当前时间 格式为(2017-08-24 21:27:00);

系统时间是long 类型的,精确到毫秒 long time = System.currentTimeMillis(); 你如果除以1000,可以精确到秒。 ========================================= Calendar cal = Calendar.getInstance(); int currentYear = cal.get(Calendar.YEAR); 当前的年你己经拿到了。减法我就不写了吧!
2023-07-29 00:28:381

为什么我用ctime:getcurrenttime函数,编译器说没有这个函数

CTime::GetCurrentTime() 是一个静态成员函数,直接返回的就是一个CTime对象,其源代码如下:<pre t="code" l="cpp">CTime PASCAL CTime::GetCurrentTime()// return the current system time{ return CTime(::time(NULL));}构造好的CTime对象赋值给另外一个CTime对象,当然是没有问题的。
2023-07-29 00:28:471

51单片机怎么使用串口把时钟显示传回计算机,用串口助手显示出来?

显然可以的就是 简单 的 串口通信而已定时把 数据发送到 电脑
2023-07-29 00:28:541

求教ORACLE中sysdate和current_timestamp的区别?

SYS@orcl> select sysdate,current_date,systimestamp,current_timestamp from dual;SYSDATE CURRENT_DATE SYSTIMESTAMP CURRENT_TIMESTAMP-------------- -------------- -------------------- --------------------24-3月 -09 24-3月 -09 24-3月 -09 12.32.05. 24-3月 -09 12.32.05. 750000 下午 +08:00 750000 下午 +08:00
2023-07-29 00:29:024

如何把时间段转变成日期呢?

=LEFT(RIGHT(B2,24),4)
2023-07-29 00:30:092

4:50的四种英语说法?

没有四种说法,只有两种:1.数字并列法(顺读法):four fifty;2.past,to说法(逆读法):ten to five。
2023-07-29 00:30:374

单片机的设计,用C语言

兄弟,别把希望寄托网络了吧
2023-07-29 00:30:486

long time = System.currentTimeMillis(); while(System.currentTimeMillis()-time < 1000 什么意思

你这是英语考试??是什么编程吧?你最好查查是不是编程?
2023-07-29 00:31:044

x509: certificate has expired or is not yet valid: current time 问题解决

对一个内部接口进行get请求,警告证书不一致 使用restful请求遇到证书私人链接认证问题,将链接的 https 改为 http 即可
2023-07-29 00:31:121

HTML如何显示当前动态时间?

function 时间程序() {var date = new Date();var year = date.getFullYear();var month = 时间格式化(date.getMonth() + 1,2);var day = 时间格式化(date.getDate(),2);var week = "星期" + "日一二三四五六".charAt(date.getDay());var hour = 时间格式化(date.getHours(),2);var minute = 时间格式化(date.getMinutes(),2);var second = 时间格式化(date.getSeconds(),2);var Milliseconds = 时间格式化(date.getMilliseconds(),3);var currentTime = year + "-" + month + "-" + day + " " +hour + ":" + minute + ":" + second + "." + Milliseconds + " " +week ;setInterval("时间程序()", 100);return currentTime;}function 时间格式化(参数, 位数) {return (Array(位数).join(0) + 参数).slice(-位数)}
2023-07-29 00:31:192

通过微信小程序如何实现验证码获取倒计时效果

这篇文章主要为大家详细介绍了微信小程序实现验证码获取倒计时效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例为大家分享了微信小程序实现获取验证码倒计时效果的具体代码,供大家参考,具体内容如下wxml<button disabled="{{disabled}}" data-id="2" bindtap="getVerificationCode">{{time}}</button>jsvar interval = null //倒计时函数Page({ data: { date:"请选择日期", fun_id:2, time: "获取验证码", //倒计时 currentTime:61 }, getCode: function (options){ var that = this; var currentTime = that.data.currentTime interval = setInterval(function () { currentTime--; that.setData({ time: currentTime+"秒" }) if (currentTime <= 0) { clearInterval(interval) that.setData({ time: "重新发送", currentTime:61, disabled: false }) } }, 100) }, getVerificationCode(){ this.getCode(); var that = this that.setData({ disabled:true }) },})上面是我整理给大家的,希望今后会对大家有帮助。相关文章:webpack 4.0.0-beta.0版本新特性(详细教程)在vue2.0组件中如何实现传值、通信在vue.js中实现分页中单击页码更换页面内容
2023-07-29 00:31:261

C#截取时间

建议可以参考正则表达式http://www.yesky.com/imagesnew/software/vbscript/html/jsgrpRegExpSyntax.htm
2023-07-29 00:31:343

C语言中GetSystemTime和GetCurrentTime有啥区别啊,两个怎么用呢

GetSystemTime(&sysTm); //获取格林威治标准时间,与北京时间相差8小时 CTime tm = CTime::GetCurrentTime(); //获取当前时间与1970年1月1日8am的秒数差。这两个是windows的api,不属于c语言的。
2023-07-29 00:33:011

怎么在System.currentTimeMillis这个值上加一个小时

这两种都可以long time = System.currentTimeMillis() ;int num1 = (int) (time % 25) +65; //将time限幅到区间[65,90]内System.out.println((char)num1);int num = new Random().nextInt(26) + 65;System.out.println((char)num);
2023-07-29 00:33:081

JAVA中的格林威治时间问题。

public class Time { public static void main(String[] args) { long totalMilliseconds = System.currentTimeMillis(); totalMilliseconds += 8 * 60 * 60 * 1000; long totalSeconds = totalMilliseconds / 1000; long currentSecond = totalSeconds % 60; long totalMinutes = totalSeconds / 60; long currentMinute = totalMinutes % 60; long totalHours = totalMinutes / 60; long currentHour = totalHours % 24; System.out.println("Current time is: " + currentHour + ":" + currentMinute + ":" + currentSecond + " GMT"); }}
2023-07-29 00:33:263

请问current_timestamp是什么数据库的语法?还是各数据库都是同用的?

CURRENT_TIMESTAMP 是取得当前系统时间戳的函数。
2023-07-29 00:33:362

C++系统时间的转换

答案14时,指的是UTC时区时间吧,22小时应该是北京时间也就是UTC+8,所以我觉得二者都对。http://msdn.microsoft.com/zh-cn/library/bf12f0hc(VS.80).aspx
2023-07-29 00:33:442

DB2数据库如何获取当前系统时间

用 current time, current date, current timestamp
2023-07-29 00:34:013

在java中当前时间取整到小时如何做, 比如当前时间为下午2点半,想得到一个Date型变量,格式化后显示为:

long l = System.currentTimeMillis()/1000/60/60; Date date = new Date(l*1000*60*60); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(format.format(date));
2023-07-29 00:36:554

C语言怎样提取系统时间且将其用于求时间差运算

clock_t start = clock();clock_t end = clock();所用时间 = (end-start) * 1.0 /CLK_TCK 秒
2023-07-29 00:37:043

VC++ MFC编程,如何获取当前系统时间

CString str = time.format("%H,%M,%S");str 就是时分秒的字符串。
2023-07-29 00:37:111

JAVA中如何获取毫秒和微秒数

很简单的什么import都不用long time = System.currentTimeMillis();这个long的time就是你要的时间了 想怎么用随便你
2023-07-29 00:37:403

判断当前时间是不是在设定时间范围

设定什么时间?
2023-07-29 00:38:082

求用java语言设计一个动态时钟,每秒刷新一次

import java.awt.*;import java.awt.event.*;import java.util.*;//这两个包你没有导入 至少在你贴进来的代码中没有导入import java.text.SimpleDateFormat;public class test extends Frame implements Runnable{ private Label Labelshow=new Label(); private Panel pan1=new Panel();public test() { super("time"); setup(); setResizable(false); //设置此图形界面是不可以改变大小的 setBounds(400, 200, 200, 400); add(pan1);//修改1 你没有添加Panel界面会什么都不显示的 pack(); setVisible(true); } public void setup() { pan1.add(Labelshow); Thread thread1=new Thread(this);//修改2 Panel没有实现Runnable接口 不能用做线程启动的 thread1.start(); }public void run() { while(true) { SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss"); Labelshow.setText(sdf.format(new Date())); try { Thread.sleep(1000); } catch(Exception e) { Labelshow.setText("出错错误,请重启程序"); } } } public static void main(String[] args) { test te=new test(); }}
2023-07-29 00:38:182

java 编程中显示日期和时间的代码

/** * 获取现在时间 * * @return返回字符串格式 yyyy-MM-dd HH:mm:ss */ public static String getStringDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatter.format(currentTime); return dateString; } /** * 获取现在时间 * * @return 返回短时间字符串格式yyyy-MM-dd */ public static String getStringDateShort() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String dateString = formatter.format(currentTime); return dateString; } /** * 获取时间 小时:分;秒 HH:mm:ss * * @return */ public static String getTimeShort() { SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); Date currentTime = new Date(); String dateString = formatter.format(currentTime); return dateString; }
2023-07-29 00:38:283

通达信指标,变量 FROMOPEN 与函数名重复

乱七八糟,该用函数的不用,不该用的又用上了,改不了了
2023-07-29 00:38:361

JAVA怎么在JAVA Swing 界面上显示动态的当前时间~~~~

package com.exam.student.reserve;import java.awt.*;import javax.swing.*;import java.util.*;public class Time extends JFrame{ JPanel pnlmain; static JLabel lblmove; JButton bntcontrol; currenttime ct; public Time() { pnlmain=new JPanel(); this.setContentPane(pnlmain); lblmove=new JLabel("你好"); lblmove.setFont(new Font("宋体",Font.BOLD,22)); lblmove.setForeground(Color.RED); pnlmain.add(lblmove); ct=new currenttime(); ct.start(); setTitle("线程"); setSize(250,150); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); } public static void main(String args[]) { new Time(); }}class currenttime extends Thread{ Date datedisplay; GregorianCalendar gccalendar; String strtime; public currenttime(){} public void run() { while(true) { displaytime(); try { this.sleep(1000); } catch(InterruptedException e) { JOptionPane.showMessageDialog(null,"线程中断"); } } } public void displaytime() { datedisplay=new Date(); gccalendar=new GregorianCalendar(); gccalendar.setTime(datedisplay); strtime="当前时间:"+gccalendar.get(Calendar.DATE)+":"+gccalendar.get(Calendar.HOUR)+":"+gccalendar.get(Calendar.MINUTE)+":"+gccalendar.get(Calendar.SECOND); Time.lblmove.setText(strtime); }}
2023-07-29 00:38:451