一 基本知识
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
完!