utc时间 单位换算_DataTime.Now.Ticks精确的时间单位[转]
getTime
public long getTime()
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
返回: 自 1970 年 1 月 1 日 00:00:00 GMT 以来此日期表示的毫秒数。
.net DateTime.Ticks
public longTicks {get;}
属性值
表示此实例的日期和时间的刻度数。该值介于 MinValue 和 MaxValue 之间。
备注
此属性的值为自 0001 年 1 月 1 日午夜 12:00 以来所经过时间以 100 毫微秒为间隔表示时的数字。
好了一个返回的是毫秒一个返回的是微秒,所以知道毫秒与微妙之间的转化也是有必要的
1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)
1秒=1,000,000 微秒(μs) 1微秒=1/1,000,000秒(s)
1秒=1,000,000,000 纳秒(ns)
1纳秒=1/1,000,000,000秒(s)
1秒=1,000,000,000,000 皮秒(ps)
1 毫秒 = 10^-3 秒, ------->10的-3次方 小数点从1开始向左移3位即0.001
1 微秒 = 10^-6 秒,
1 毫微秒 = 10^-9 秒,
100 毫微秒 = 10^-7 秒。
Console.WriteLine(DateTime.Now.Ticks); // 输出:633603924670937500
也就是说,从0001 年 1 月 1 日午夜 12:00:00 以来到现在已经过了 633603924670937500 * 10^-7 秒。
很少用,除非需要很精确地知道从那时(1年1月1日)开始过了多少时间。
比如精确地计算两个时间差时(想知道某段程序运行了多少毫微秒)就可以用到。
using System;
using System.Collections.Generic;
class Sentence
{
static void Main()
{
long ticks0 = DateTime.Now.Ticks;
for (int i = 0; i
{
// ...
}
long ticks1 = DateTime.Now.Ticks;
long n = (ticks1 - ticks0) * 100;
Console.WriteLine("上面这段程序运行了{0}毫微秒", n);
}
}
转换成秒比用毫微秒更直观些:
using System;
using System.Collections.Generic;
class Sentence
{
static void Main()
{
long ticks0 = DateTime.Now.Ticks;
for (int i = 0; i
{
// ...
}
long ticks1 = DateTime.Now.Ticks;
double n = (ticks1 - ticks0) / 10000000.0;
Console.WriteLine("上面这段程序运行了{0}秒", n);
}
}
获取高精度的时间差,可以用来分析页面运行时间的长短
DateTime.Now的精度是很低,这个低的意思是,两次获取的DateTime.Now的Ticks的差,只是一个较大数的整数倍。例如在我 的机器上,这个差最小是10.114ms。所以,如果我用DateTime.Now来计算时间差,那么就无法精确到10ms以内。
后来发现ASP.NET的TRACE的精度很高,用Reflector看它的实现,发现了它是使用这两个方法的:
我自己了按照这个写了个类,代码如下:
using System;
using System.Runtime.InteropServices;
public class A
{
[DllImport("kernel32.dll")]
static extern bool QueryPerformanceCounter([In, Out] ref long lpPerformanceCount);
[DllImport("kernel32.dll")]
static extern bool QueryPerformanceFrequency([In, Out] ref long lpFrequency);
static long _f = 0;
static public long GetTickCount()
{
long f = _f;
if (f == 0)
{
if (QueryPerformanceFrequency(ref f))
{
_f = f;
}
else
{
_f = -1;
}
}
if (f == -1)
{
return Environment.TickCount * 10000;
}
long c = 0;
QueryPerformanceCounter(ref c);
return (long)(((double)c) * 1000 * 10000 / ((double)f));
}
//GetTickCount()为0时的DateTime.Ticks值
static long _tc = 0;
//这个返回的不是真正的精确时间,但时间与时间的差是精确的。
//GetExactNow与DateTime.Now的偏差比DateTime.Now的精度还要小,所以该偏差
static public DateTime GetExactNow()
{
if (_tc == 0)
{
long tc = GetTickCount();
DateTime dt = DateTime.Now;
_tc = dt.Ticks - tc;
return dt;
}
return new DateTime(_tc + GetTickCount());
}
}
在ASP。NET的应用,可以在Global.asax的Application_BeginRequest事件中加入代码来纪录程序开始时的TickCount:
Context.Items["BeginRequestTickCount"]=A.GetTickCount();
然后在页面输出的后面:
....
utc时间 单位换算_DataTime.Now.Ticks精确的时间单位[转]相关推荐
- 鱼子单位换算器v1.0.1 - 跨物理量单位换算器
鱼子单位换算器v1.0.1 - 跨物理量单位换算器 软件主界面: 基本功能: 1.相同物理量.不同理量之间的单位换算( 跨物理量单位换算) 该软件的设计灵感来源于Ansys Fluent的单位制转换功 ...
- utc时间 单位换算_数学基础知识点总结,常用单位换算长度、时间、面积等分类...
在所有的课程中间,数学贯穿了整个学习生涯,对于学生学习数学知识,要培养学生对数学应用价值的意识,能解决简单的实际问题.数学有助于学生理解现实生活中的数的意义,引导学生培养估算能力.下面就讲一下在实际教 ...
- 声波时差曲线的单位换算/米m和英尺ft的单位换算
声波时差曲线(AC/DTCO)的数据的两种单位: 第一种是 us/m 另一种是 us/ft 转换也很容易就是 说白了就是 米(m) 和 英尺(ft)之间的转换 1米(m)=3.2808399英尺(ft ...
- java 重量单位换算_[Java教程]JS:重量单位换算
[Java教程]JS:重量单位换算 0 2015-11-03 14:00:04 //单位换算:数量,原单位,目标单位 var GetNumByUnit = function (num, unitnam ...
- 万航单位换算器 V1.0 绿色版
软件名称: 万航单位换算器 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 347KB 图片预览: 软件简介: 万航单位换算器是一个可以随意转换单位的绿色软 ...
- 米的换算单位和公式_小学三年级数学常用公式和单位换算,孩子复习宝典!
1 单位换算小技巧 1.将同类单位从大到小或者从小到大依次排列 如长度单位:千米.米.分米.厘米 2.记住各单位之间的进率,高级单位X进率=低级单位:低级单位÷进率=高低单位,差多少位就进行多少次换算 ...
- 树的高度单位换算 c语言编辑,小数与单位换算的公式(小数长度单位换算口诀)...
1千米=1000米 1米=10分米1分米=10厘米 1米=100厘米1厘米=10毫米 面积单位换算1平方千米=100公顷1公顷=10000平方米1平方米=100平方分米1平方分米=100平方厘米. 最 ...
- 计算机存储单位和网速单位换算,数据速度计算:在线进行网速各种bps mbps kbps B/秒 KB/秒 MB/秒单位之间换算...
数据速度计算:在线进行网速各种bps mbps kbps B/秒 KB/秒 MB/秒单位之间换算 2018-12-14 1. 数据单位的换算(可进行手机上网流量,硬盘容量,内存容量,显存容量,缓存容量 ...
- 用python做简单的单位换算程序
大家好,在单位换算中,有些人时不时把单位换算错误.混淆,造成不必要的烦恼. 所以我今天跟大家分享的内容就是用python的math和time模块做的单位换算小程序(目前做的单位还不全面,只有一些常用单 ...
- utc时间 单位换算_日期时间
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 使用time模块显示当前日期和时间 开发一个以多种格式显示当前时间和日期的程序.转换秒数为GMT时间.你要 ...
最新文章
- Java中Byte类型数据在运算中的问题
- Android爬坑之旅之WebView
- 数据分页 THINKPHP3.2 分页 三种分页方法
- [MFC]设置文件夹目录时遇到的问题
- 信息抽取--新词提取
- 【转】Dicom 学习笔记-Dicom 消息服务(DIMSE-C/DIMSE-N)
- pytest.5.参数化的Fixture
- 利用shell脚本来监控linux系统的负载与CPU占用情况
- poythoncode-实战4--读取文本文件,csv文件,存到系统中以大列表方式进行存储
- 9个Console命令
- Windows下Nginx的启动、停止、重启等命令
- 基于PROFINET技术的STEP7组态
- 如何在windows上 安装更新 显卡的驱动
- 永洪bi mysql连接配置_永洪BI 如果不同步数据是做的数据库直连吗?
- [老文档2016]一种后台管理智能杀进程的规则与方法
- bellman算法流程
- 【深信服】Python 开发工程师(云计算、网络安全) 【已offer】
- 【历史上的今天】8月19日:大型计算机先驱和小型机之父诞生;中国雅虎邮箱成历史
- CF 111B Petya and Divisors
- Android中TrafficStats流量监控类
热门文章
- Hologres数据迁移之holo-shipper
- 计算机量子化学计算焓,本科毕业论文--量子化学计算的基本原理及应用.doc
- ADS1110/ADS1271
- 学计算机办公文员软件,办公文员必须掌握的办公软件有哪些
- springcloud阿里巴巴五大组件_阿里巴巴内部独家微服务全解手册已“重现江湖”大厂核心技术,你确定不了解一下?...
- 支付宝当面付(统一收单线下交易预创建,二维码扫码支付)
- xp计算机无法远程桌面连接,xp系统远程桌面不能连接指定计算机的处理方法
- 路由器下一跳地址怎么判断_一篇文章,了解清楚路由器的各种组网
- 60秒学脑科学常识:《科学美国人》专栏文集
- 原生android ui设计,在拟物和扁平之间寻找平衡:原生安卓UI设计进化史