一 基本知识
millisecond 毫秒
microsecond 微秒
nanosecond 纳秒
1秒=1000毫秒 1毫秒=1000微秒 1微秒=1000纳秒
二 perl
perl中可以使用time或localtime来获得时间,time返回从1970年1月1日0点的秒数,localtime返回当前时间的字符串表示,或者年月日等得tuple表示。
#!/usr/bin/perl use strict; use warnings; use POSIX qw(strftime); # seconds from 1970.01.01 00:00:00 my $ti = time(); print $ti; print \"\\n\"; print strftime(\"%Y-%m-%d %H:%M:%S\\n\", localtime($ti)); #1310623469 #2011-07-14 14:03:58 my $t = localtime(); print $t; print \"\\n\"; #Thu Jul 14 12:25:16 2011 my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)=localtime(); print $year; print \"\\n\"; #111 print 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 time ISOTIMEFORMAT=\'%Y-%m-%d %X\' # seconds from 1970.01.01 00:00:00 t = 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