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

yipeiwu_com7年前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

相关文章

Python操作SQLite数据库的方法详解

本文实例讲述了Python操作SQLite数据库的方法。分享给大家供大家参考,具体如下: SQLite简单介绍 SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的...

深入浅析Python中的迭代器

深入浅析Python中的迭代器

目录结构: contents structure [-] 在开始文章之前,先贴上一张Iterable、Iterator与Generator之间的关系图:   1. Itera...

python验证码识别教程之利用滴水算法分割图片

python验证码识别教程之利用滴水算法分割图片

滴水算法概述 滴水算法是一种用于分割手写粘连字符的算法,与以往的直线式地分割不同 ,它模拟水滴的滚动,通过水滴的滚动路径来分割字符,可以解决直线切割造成的过分分割问题。 引言 之前提过对...

python3.5绘制随机漫步图

python3.5绘制随机漫步图

本文实例为大家分享了python3.5绘制随机漫步图的具体代码,供大家参考,具体内容如下 代码中我们定义两个模型,一个是RandomWalk.py模型,用于随机的选择前进方向。此模型中的...

对python产生随机的二维数组实例详解

最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果。最后在一篇博客中受到启发,通过列表解析的方法得到随机的二维数...