请教DateTime中的Ticks属性是什么意思?

whTan 2008-10-23 08:48:35
看程序时见到了Ticks属性,但不明白是什么意思.查了一下msdn,说是"获取表示此实例的日期和时间的刻度数"。然后又说是"此属性的值表示自 0001 年 1 月 1 日午夜 12:00:00 以来已经过的时间的以 100 毫微秒为间隔的间隔数。"可我对这个属性还是没有直观的概念,大家有能不能给我举例说明一下这个属性,谢谢了.
...全文
11913 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
mytimes_walker 2008-10-23
  • 打赏
  • 举报
回复
最小时间单位
很精确的值
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
上面这段程序在我的机器上的输出是:

上面这段程序运行了2.46875秒
slimfeng 2008-10-23
  • 打赏
  • 举报
回复
不好意思,上面理解有问题,见笑
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
转换成比用毫微秒更直观些:

using System;
using System.Collections.Generic;

class Sentence
{
static void Main()
{
long ticks0 = DateTime.Now.Ticks;
for (int i = 0; i < int.MaxValue; i++)
{
// ...
}
long ticks1 = DateTime.Now.Ticks;
double n = (ticks1 - ticks0) / 10000000.0;
Console.WriteLine("上面这段程序运行了{0}秒", n);
}
}
slimfeng 2008-10-23
  • 打赏
  • 举报
回复
跟borland c++程序中的unix时间(是自1970年1月1日午夜 12:00:00 经过的毫秒数)是同样的概念,
实际上在很多提供的DateTime等类的处理上用到,在现在的很多上层应用上基本很少用到。
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;

class Sentence
{
static void Main()
{
long ticks0 = DateTime.Now.Ticks;
for (int i = 0; i < int.MaxValue; i++)
{
// ...
}
long ticks1 = DateTime.Now.Ticks;
long n = (ticks1 - ticks0) * 100;
Console.WriteLine("上面这段程序运行了{0}毫微秒", n);
}
}
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
比如精确地计算两个时间差时(想知道某段程序运行了多少毫微秒)就可以用到。
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
没什么用,除非需要很精确地知道从那时(1年1月1日)开始过了多少时间。
whTan 2008-10-23
  • 打赏
  • 举报
回复
哦,谢谢大家的解答,我已经知道ticks属性是什么意思了,但它有什么作用了,一般在什么情况下需要用到这个属性?
lovehongyun 2008-10-23
  • 打赏
  • 举报
回复
获取表示此实例的日期和时间的刻度数。

此属性的值表示自 0001 年 1 月 1 日午夜 12:00:00 以来已经过的时间的以 100 毫微秒为间隔的间隔数。

表示此实例的日期和时间的刻度数。该值介于 MinValue 和 MaxValue 之间。
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
Console.WriteLine(DateTime.Now.Ticks); // 输出:633603924670937500

也就是说,从0001 年 1 月 1 日午夜 12:00:00 以来到现在已经过了 633603924670937500 * 10^-7 秒。
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
Console.WriteLine(DateTime.Now.Ticks); // 输出:633603924670937500
路人乙e 2008-10-23
  • 打赏
  • 举报
回复
就是一个时间差
danjiewu 2008-10-23
  • 打赏
  • 举报
回复
Tick可以理解为最小时间单位
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
1 毫秒 = 10^-3 秒,
1 微秒 = 10^-6 秒,
1 毫微秒 = 10^-9 秒,
100 毫微秒 = 10^-7 秒。
wuyi8808 2008-10-23
  • 打赏
  • 举报
回复
是一个很大的长整数,单位是 100 毫微秒表示自 0001 年 1 月 1 日午夜 12:00:00 以来已经过的时间的以 100 毫微秒为间隔的间隔数,已经说得很清楚了,如果单位是秒或天 LZ 可以就更容易理解了。

111,101

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧