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

whTan 2008-10-23 08:48:35
看程序时见到了Ticks属性,但不明白是什么意思.查了一下msdn,说是"获取表示此实例的日期和时间的刻度数"。然后又说是"此属性的值表示自 0001 年 1 月 1 日午夜 12:00:00 以来已经过的时间的以 100 毫微秒为间隔的间隔数。"可我对这个属性还是没有直观的概念,大家有能不能给我举例说明一下这个属性,谢谢了.
...全文
10372 16 打赏 收藏 转发到动态 举报
写回复
用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 可以就更容易理解了。
PowerBI系列之Power Query专题1.  获取数据 数据源种类介绍和获取Excel数据源输入数据和拷贝数据:创建辅助表解析Json/XML数据格式获取Web网页数据和URL添加动态参数连接数据的四种模式:Import、DirectQuery、Live Connection、Dual双 属于混合模式连接数据库:Sql server、 Mysql(直连但是必须先安装一个mysql插件)DirectQuery直连查询:Sql serverODBC方式获取数据表关联或多个Sql或调用存储过程获取数据SQL动态传参和自定义函数: sql使用参数或数据库名称使用参数连接Sharepoint和OneDrive数据源连接Dataset和Dataflow 替换本地数据源为Sharepoint数据源并保留数据处理操作 终止当前数据刷新Loading:Cancel Query数据源设置-重置数据连接凭证PBIDS连接数据源创建和使用报表模块(输入或值列表)利用报表模板和参数控制线下报表数据权限DirectQuery启用自动页面刷新和更改检测管理聚合表提高DirectQuery查询性能动态M查询参数提高DirectQuery查询性能添加数据刷新时间 DateTime.LocalNow()和Getdate()2.  数据清洗和M语言M语言和官方文档介绍PowerQuery查阅M函数:=#shared, Ctrl+Space提示数据清洗之常用技能:提升标题、更改数据类型、保留删除错误或空行,删除重复项、选择列和删除列、填充单元格、合并列、拆分、提取、替换、条件替换、添加自定义列,添加条件列、添加索引列、分组、添加年月日列、追加和合并查询透视和逆透视以及转置合并单元格的Excel文件处理导入文件夹多Excel文件并合并解决多文件合并列顺序不一致使用参数和函数批量导入文件 文本提取文、英文、数字等处理双引号转义 列拆分详解解决列名改变错误解决列丢失错误动态显示、排序和重命名列为所有列名添加前缀列名字母大写和分隔符调整Trim标题列的多余空格如何处理load数据错误为什么load的Excel数据有null空行为什么load的Excel数据标题在第二行灵活添加占位符规范同类相似数据数据按多列排序为分组添加Index序号分组内值合并诊断工具分析数据处理过程PowerQuery小技巧分享 新冠病例活动轨迹地图标识 

110,567

社区成员

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

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

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