一 基本知识
millisecond 毫秒
microsecond 微秒
nanosecond 纳秒
1秒=1000毫秒 1毫秒=1000微秒 1微秒=1000纳秒
二 perl
perl中可以使用time或localtime来获得时间,time返回从1970年1月1日0点的秒数,localtime返回当前时间的字符串表示,或者年月日等得tuple表示。
#!/usr/bin/perluse strict;use warnings;use POSIX qw(strftime);# seconds from 1970.01.01 00:00:00my $ti = time();print $ti;print "/n";print strftime("%Y-%m-%d %H:%M:%S/n", localtime($ti));#1310623469#2011-07-14 14:03:58my $t = localtime();print $t;print "/n";#Thu Jul 14 12:25:16 2011my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)=localtime();print $year;print "/n";#111print strftime("%Y-%m-%d %H:%M:%S/n", localtime());#2011-07-14 12:26:01
三 c#
1tick = 100 nanosecond
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MyTest{ class Program { static void DateTimeTest() { DateTime dt2 = DateTime.Now; Console.WriteLine(dt2.Ticks); Console.WriteLine(dt2.ToString("MM/dd/yyyy hh:mm:ss")); } static DateTime? ConvertPerlTimeToDateTime(string perltime) { DateTime? dt = null; //perl time variable : seconds from 1970.01.01 00:00:00 string sdt = perltime; long ldt = 0; if (long.TryParse(sdt, out ldt)) { long ldt2 = new DateTime(1970, 1, 1).Ticks + ldt * 1000 * 1000 * 10; dt = new DateTime(ldt2, DateTimeKind.Local); Console.WriteLine(dt.Value.ToString("MM/dd/yyyy hh:mm:ss")); } return dt; } static void Main(string[] args) { DateTimeTest(); ConvertPerlTimeToDateTime("1309423883"); //634462479788396720 //07/14/2011 01:46:18 //06/30/2011 08:51:23 } }}
四 python
python的perl相似,time也是从1970年1月1日开始的秒数。
import timeISOTIMEFORMAT='%Y-%m-%d %X'# seconds from 1970.01.01 00:00:00t = time.time()print (t)print time.strftime(ISOTIMEFORMAT,time.localtime(t))#1310623143.12#2011-07-14 13:59:03(year,mon,day,hour,min,sec,wday,yday,isdst) = time.localtime()print (year)print (time.strftime(ISOTIMEFORMAT, time.localtime()))#2011#2011-07-14 13:59:03