https://msdn.microsoft.com/zh-cn/library/vstudio/system.diagnostics.stopwatch(v=vs.100).aspx
使用UnityEngine;
使用System.Collections;
使用System.Reflection;
使用系统;公共类ReflTestDemo:MonoBehaviour { //用于初始化
void start(){ int start = System.Environment.TickCount;
好玩();
int end = System.Environment.TickCount;
Debug.Log(“ strat-end:” +(end-start)); //单位毫秒/ *
Stopwatch实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。
在典型的Stopwatch方案中,先调用Start方法,然后调用Stop方法,最后使用经过的属性检查运行时间。Stopwatch
实例或者在运行,或者已停止;使用IsRunning可以确定Stopwatch的当前状态。
使用Start可以开始测量运行时间;使用Stop可以停止测量运行时间。
通过属性Elapsed,ElapsedMilliseconds或ElapsedTicks查询运行时间值。
当实例正在运行或已停止时,可以查询运行时间属性。
运行时间属性在Stopwatch运行期间稳固增量;在该实例停止时保持不变。
有时情况下,Stopwatch实例的运行时间值对应于所有测量的时间间隔的
总和。* /
System.Diagnostics.Stopwatch stopwatch
= new System.Diagnostics.Stopwatch()每次调用Stop时结束当前时间间隔测量,并冻结并运行时间值。
;
stopwatch.Start(); //开始监视代码运行时间
fun();
stopwatch.Stop(); //停止监视/ *
天获取当前时间跨度结构所表示的时间间隔的天数部分。
时间获取当前时间跨度结构所表示的时间间隔的小时数部分。
毫秒获取当前时间跨度结构所表示的时间间隔的毫秒数部分。
纪要。获取当前时间跨度结构所表示的时间间隔的分钟
数部分秒钟获取当前时间跨度结构所表示的时间间隔的秒数部分。
蜱获取表示当前时间跨度结构的值的刻度数。
TotalDays 获取以整天数和天的小数部分表示的当前 TimeSpan 结构的值。
TotalHours 获取以整小时数和小时的小数部分表示的当前 TimeSpan 结构的值。
TotalMilliseconds 获取以整毫秒数和毫秒的小数部分表示的当前 TimeSpan 结构的值。
TotalMinutes 获取以整分钟数和分钟的小数部分表示的当前 TimeSpan 结构的值。
TotalSeconds 获取以整秒数和秒的小数部分表示的当前 TimeSpan 结构的值。
*/
System.TimeSpan timespan = stopwatch.Elapsed;
double hours = timespan.TotalHours; // 总小时
double minutes = timespan.TotalMinutes; // 总分钟
double seconds = timespan.TotalSeconds; // 总秒数
double milliseconds = timespan.TotalMilliseconds; // 总毫秒数
//打印代码执行时间
Debug.Log("hours " + hours);
Debug.Log("minutes " + minutes);
Debug.Log("seconds " + seconds);
Debug.Log("milliseconds " + milliseconds);
}
// Update is called once per frame
void Update () {
}
void fun()
{
string strText = "zhaoguanghui";
BindingFlags flags = (BindingFlags.NonPublic | BindingFlags.Public |
BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly);
Type t = typeof(ReflTest1);
MethodInfo[] mi = t.GetMethods(flags);
System.Object obj = Activator.CreateInstance(t);
foreach (MethodInfo m in mi)
{
if (m.Name.StartsWith("Write"))
{
m.Invoke(obj, new object[] { strText });
}
}
MethodInfo mMy = t.GetMethod("MyWrite");
if (mMy != null)
{
mMy.Invoke(obj, new object[] { strText });
}
}
void fun2()
{
// Define two dates.
DateTime date1 = new DateTime(2010, 1, 1, 8, 0, 15);
DateTime date2 = new DateTime(2010, 8, 18, 13, 30, 30);
TimeSpan interval = date2 - date1;
Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString());
Console.WriteLine(" {0,-35} {1,20}", "Value of Days Component:", interval.Days);
Console.WriteLine(" {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays);
Console.WriteLine(" {0,-35} {1,20}", "Value of Hours Component:", interval.Hours);
Console.WriteLine(" {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours);
Console.WriteLine(" {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes);
Console.WriteLine(" {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes);
Console.WriteLine(" {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds);
Console.WriteLine(" {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds);
Console.WriteLine(" {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds);
Console.WriteLine(" {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds);
Console.WriteLine(" {0,-35} {1,20:N0}", "Ticks:", interval.Ticks);
// the example displays the following output:
// 8/18/2010 1:30:30 PM - 1/1/2010 8:00:15 AM = 229.05:30:15
// Value of Days Component: 229
// Total Number of Days: 229.229340277778
// Value of Hours Component: 5
// Total Number of Hours: 5501.50416666667
// Value of Minutes Component: 30
// Total Number of Minutes: 330090.25
// Value of Seconds Component: 15
// Total Number of Seconds: 19,805,415
// Value of Milliseconds Component: 0
//毫秒总数:19,805,415,000
//滴答声:198,054,150,000,000
}
}
转载于[地址](https://blog.csdn.net/zhaoguanghui2012/article/details/48846051)