python各种语言间时间的转化实现代码
一基本知识
millisecond毫秒
microsecond微秒
nanosecond纳秒
1秒=1000毫秒1毫秒=1000微秒1微秒=1000纳秒
二perl
perl中可以使用time或localtime来获得时间,time返回从1970年1月1日0点的秒数,localtime返回当前时间的字符串表示,或者年月日等得tuple表示。
#!/usr/bin/perl usestrict; usewarnings; usePOSIXqw(strftime); #secondsfrom1970.01.0100:00:00 my$ti=time(); print$ti; print"\n"; printstrftime("%Y-%m-%d%H:%M:%S\n",localtime($ti)); #1310623469 #2011-07-1414:03:58 my$t=localtime(); print$t; print"\n"; #ThuJul1412:25:162011 my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(); print$year; print"\n"; #111 printstrftime("%Y-%m-%d%H:%M:%S\n",localtime()); #2011-07-1412:26:01
三c#
1tick=100nanosecond
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespaceMyTest { classProgram { staticvoidDateTimeTest() { DateTimedt2=DateTime.Now; Console.WriteLine(dt2.Ticks); Console.WriteLine(dt2.ToString("MM/dd/yyyyhh:mm:ss")); } staticDateTime?ConvertPerlTimeToDateTime(stringperltime) { DateTime?dt=null; //perltimevariable:secondsfrom1970.01.0100:00:00 stringsdt=perltime; longldt=0; if(long.TryParse(sdt,outldt)) { longldt2=newDateTime(1970,1,1).Ticks+ldt*1000*1000*10; dt=newDateTime(ldt2,DateTimeKind.Local); Console.WriteLine(dt.Value.ToString("MM/dd/yyyyhh:mm:ss")); } returndt; } staticvoidMain(string[]args) { DateTimeTest(); ConvertPerlTimeToDateTime("1309423883"); //634462479788396720 //07/14/201101:46:18 //06/30/201108:51:23 } } }
四python
python的perl相似,time也是从1970年1月1日开始的秒数。
importtime ISOTIMEFORMAT='%Y-%m-%d%X' #secondsfrom1970.01.0100:00:00 t=time.time() print(t) printtime.strftime(ISOTIMEFORMAT,time.localtime(t)) #1310623143.12 #2011-07-1413:59:03 (year,mon,day,hour,min,sec,wday,yday,isdst)=time.localtime() print(year) print(time.strftime(ISOTIMEFORMAT,time.localtime())) #2011 #2011-07-1413:59:03