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