python各种语言间时间的转化实现代码

一 基本知识

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

Posted in 未分类

发表评论