
1、直接利用Pentium CPU内部时间戳进行计时的高精度计时手段。
2、在 Intel Pentium以上级别的CPU中,有一个称为“时间戳(Time Stamp)”的部件,它以64位无符号整型数的格式,记录了自CPU上电以来所经过的时钟周期数。由于目前的CPU主频都非常高,因此这个部件可以达到纳秒级的计时精度。
3、因为RDTSC不被C++的内嵌汇编器直接支持,所以要用_emit伪指令直接嵌入该指令的机器码形式0X0F、0X31,如下:
inline unsigned __int64 GetCycleCount()
{
__asm _emit 0x0F
__asm _emit 0x31
}
4、在需要计数器的场合,可以像使用普通的Win32 API一样,调用两次GetCycleCount函数,比较两个返回值的差,像这样:
unsigned long t;
t = (unsigned long)GetCycleCount();
//Do Something time-intensive
t -= (unsigned long)GetCycleCount();
#include <cstdio>
#include <ctime>
using namespace std;
/ run this program using the console pauser or add your own getch, system("pause") or input loop /
void printTime() {
struct tm t; //tm结构指针
time_t now; //声明time_t类型变量
time(&now); //获取系统日期和时间
localtime_s(&t, &now); //获取当地日期和时间
//格式化输出本地时间
printf("年-月-日-时-分-秒:%d-%d-%d %d:%d:%d\n", ttm_year + 1900, ttm_mon + 1, ttm_mday, ttm_hour, ttm_min, ttm_sec);
}
int main(int argc, char argv) {
printTime();
}
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
得到一个毫秒时间,是1970年1月1日0:00至今的毫秒时间,怎么转换成通常格式?
解析:
import javautil;
import javatextSimpleDateFormat;
public class test
{
public static void main (String args[])
{
Date d = new Date();
long longtime = dgetTime();
Systemoutprintln(longtime);
你获得的是上面的long型数据吧
String time = dtoLocaleString();
你可以简单的得到本地化时间,本来就是String类型的就不用转换了
Systemoutprintln(time);
也可以自己用SimpleDateFormat这个函数把它变成自己想要的格式,注意需要import javatextSimpleDateFormat;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Systemoutprintln(sdfformat(longtime));
}
}
use Time::HiRes qw( gettimeofday );
my ($seconds, $microseconds) = gettimeofday;
秒 , 微秒, 计算一下就是毫秒了, perl模块中有不少与linux函数同名同功能的函数都可以直接用的,主要搜一下在哪个模块中,在perl的模块代码中搜,或者查看perldoc去查
#include <iostream>
#include <windowsh>
using namespace std;
void main()
{
SYSTEMTIME time;//时间结构声明,这个结构是系统的,
GetSystemTime( &time ); //调用获取系统时间api
//GetLocalTime();这个函数是获取本地时间api
char t_y;
char t_m;
char t_h;
char t_Min;
char t_s;
char t_Mi;
char t_d;
char t_w;
SYSTEMTIME time;//时间结构声明,这个结构是系统的,
GetSystemTime( &time );//调用获取系统时间api
sprintf(t_y, "%d", timewYear);//将年份格式输出到t_y变量中
sprintf(t_m, "%d", timewMonth);
sprintf(t_w, "%d", timewDayOfWeek);
sprintf(t_d, "%d", timewDay);
sprintf(t_h, "%d", timewHour);
sprintf(t_Min, "%d", timewMinute);
sprintf(t_s, "%d", timewSecond);
sprintf(t_Mi, "%d", timewMilliseconds);
printf("%s,%s,%s,%s,%s,%s,%s,%s",
timewYear,
timewMonth,
timewDayOfWeek,
timewDay,
timewHour,
timewMinute,
timewSecond,
timewMilliseconds);
}
/
SYSTEM结构成员如下:
SYSTEMTIME STRUCT
{
WORD wYear ; 年
WORD wMonth ;月
WORD wDayOfWeek ;星期,0=星期日,1=星期一
WORD wDay ;日
WORD wHour ;时
WORD wMinute ;分
WORD wSecond ;秒
WORD wMilliseconds ;毫秒
}SYSTEMTIME ENDS
///
以上就是关于VC++编程中 如何获取当前时间(精确到毫秒)全部的内容,包括:VC++编程中 如何获取当前时间(精确到毫秒)、如何用C语言编写一个显示时间的函数,要求时间显示精度到毫秒级别。、java 我获得单位为毫秒的当前时间,如何转化成年月日小时分格式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)