1、对于DateTime.CetCreationTime();得到的时间是文件生成的时间;
例:
把手机上的照片或者视频导入到电脑上,用这个函数得到的是导入的时间而非拍摄的时间;
2、对于时间的操作:
//目的:把时间(毫秒)转换成普通的时分秒格式且用string类型表示,可以赋值给text,并显示
private string stringForTime(int timeMs)
{
int totalSeconds=timeMs/1000; //timeMs(用int类型)表示的是毫秒
int seconds=totalSeconds%60; //总秒数对于60去余,得到时分秒里的秒;
int minutes=(totalSeconds/60)%60; //总秒数除以60取整,得到中共多少分钟,在除以60取余得到时分秒里的分;
int hours=totalSeconds/3600; //总秒数除以3600;得到时分秒里的时;
if(hours>0)
{
return string.Format("{0}:{1:D2}:{2:D2}",hours,minutes,seconds);//输出的是00:00:00形式
}
else
{
return string.Format("{0: d2}:{1:d2}",minutes,seconds);//00:00
}
}
//目的:与上段代码区别在于,这里输出的是时分秒组成的字符串(没有冒号)
private string GetPlayTime(int timeall)
{
long totalSeconds = timeall / 1000;
long seconds = totalSeconds % 60;
long minutes = (totalSeconds / 60) % 60;
long hours = totalSeconds / 3600;
string dt = Convert.ToString(hours) + Convert.ToString(minutes) + Convert.ToString(seconds);
return dt;
}
string mtime=GetPlayTime(timeall);
//目的:string和int类型进行DateTime时间运算;
pubulic void GetWaterTime()
{
string mdatetime="yyyy-MM-dd HH:mm:ss";//必须为这种模式
DateTime dt1=DateTime.Parse(string mdatetime);//把string转换成DateTime类;
float second = Convert.ToSingle(mtime);//可以把string类型的Mtime转换成float类;
TimeSpan tp=TimeSpan.FormSeconds(second);//把float类型转换成时间(TimeSpan)类型,这样可以用于DateTime类型直接加减运算,FormSeconds把float的值换算为秒;
dt1=dt1+tp;//自此算是把特定格式下的string类型和(int->string->float->TimeSpan)完成了时间DateTime类型的加减运算;
Text mtext.text=dt1.ToString();//把时间以string类型赋给text,这样就可以显示了;如2017-10-26 8:44:56PM;
Text mtext.text=dt1.ToString("yyyy-MM-dd HH:mm:ss");这样显示如:2017-10-26 20:44:56;
}