public class TimeUtil {
public static string getCurrentTime()
{
return DateTime.Now.ToString ("yyyy_MM_dd_HH_mm_ss");
//DateTime.Now.ToString("yyyy-MM-dd hh_mm_ss")
}
public static string getCurrentTimeEx()
{
return DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss");
//DateTime.Now.ToString("yyyy-MM-dd hh_mm_ss")
}
public static string getCurrentTimeWithMilliSecond()
{
string res = "";
try
{
res = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_fff");
}
catch (Exception e)
{
Debug.Log("时间异常getCurrentTimeWithMilliSecond:" + e);
}
return res;
}
public static string getCurrentTimeTight()
{
return DateTime.Now.ToString ("yyyyMMddHHmmss");
}
public static float getSecondsFromStartup()
{
return Time.realtimeSinceStartup;
}
public static string formatTime(float second)
{
//yyyy-MM-dd HH:mm:ss
//return new DateTime((long)(second * 10000000)).ToString("HH:mm:ss:ff");//毫秒:c#是fff,java是SSS
return new DateTime((long)(second * 10000000)).ToString("mm:ss:ff");//毫秒:c#是fff,java是SSS
}
public static string formatTime2(float second)
{
//yyyy-MM-dd HH:mm:ss
return new DateTime((long)(second * 10000000)).ToString("HH:mm:ss");//毫秒:c#是fff,java是SSS
//return new DateTime((long)(second * 10000000)).ToString("mm:ss:ff");//毫秒:c#是fff,java是SSS
}
/// <summary>
/// 获取时间戳
/// </summary>
/// <returns></returns>
public static string GetTimeStampSeconds()
{
TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds).ToString();
}
/// <summary>
/// 获取时间戳
/// </summary>
/// <returns></returns>
public static string GetTimeStampMilliseconds()
{
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalMilliseconds).ToString();
}
/// <summary>
/// 获取时间戳
/// </summary>
/// <returns></returns>
public static long GetTimeStampMillisecondsEx()
{
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalMilliseconds);
}
/// <summary>
/// 获取时间戳
/// </summary>
/// <returns></returns>
public static long GetTimeStampSecondsEx()
{
TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds);
}
/// <summary>
/// 时间戳[10|13]转为C#格式时间
/// </summary>
public static DateTime StampToDateTime(string stamp)
{
if (stamp.Length == 10 || stamp.Length == 13)
{
try
{
DateTime StartDateTime = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1,0,0,0,0, DateTimeKind.Utc), TimeZoneInfo.FindSystemTimeZoneById("China Standard Time"));
DateTime StartDateTime1;
if (stamp.Length == 10)
{
StartDateTime1 = StartDateTime.AddSeconds(long.Parse(stamp));
}
else
{
StartDateTime1 = StartDateTime.AddMilliseconds(long.Parse(stamp));
}
return StartDateTime1;
}
catch (Exception e)
{
return DateTime.Now;
}
}
else
{
return DateTime.Now;
}
}
/// <summary>
/// 获取从0001年1月1日0点到现在的100毫微秒数(实际就是100纳秒)
/// </summary>
/// <returns>The current ticks.</returns>
public static long getCurrentTicks()
{
return DateTime.Now.Ticks;
}
/// <summary>
/// 获取经历的时间,单位秒
/// </summary>
/// <returns>The time offset.</returns>
/// <param name="ticksFrom">Ticks from.</param>
/// <param name="ticksTo">Ticks to.</param>
public static float getTimeOffset(long ticksFrom, long ticksTo)
{
//Debug.Log("ticksTo-ticksFrom:"+(ticksTo-ticksFrom));
return (ticksTo - ticksFrom) / 10000000f;
}
}
网友评论