博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ruby 日期和时间(和 Python3 日期和时间对比)
阅读量:4229 次
发布时间:2019-05-26

本文共 4681 字,大约阅读时间需要 15 分钟。

生成当前时间

# Ruby[12] pry(main)> Time.now=> 2020-08-27 22:41:45.142628288 +0800[13] pry(main)> Time.now.to_s=> "2020-08-27 22:43:46 +0800"
# Python3>>> import datetime>>> datetime.datetime.now()datetime.datetime(2020, 8, 27, 22, 42, 17, 965778)>>> str(datetime.datetime.now())'2020-08-27 22:43:40.267643'

生成 Unix 时间 

# Ruby[2] pry(main)> Time.new.to_i=> 1599919407
# Python3>>> import time>>> time.time()1599919411.7425907

生成指定时间

# Ruby[8] pry(main)> Time.mktime(2013, 5, 30, 3, 11, 12)=> 2013-05-30 03:11:12 +0800[56] pry(main)> st=> "2017-11-23 16:10:10"[57] pry(main)> datetime = DateTime.strptime(st, "%Y-%m-%d %H:%M:%S")=> #
[58] pry(main)> start_time = Time.new.strftime('%Y-%m-%d %H:%M:%S')=> "2020-11-04 11:15:32"[59] pry(main)> require 'time'=> true[60] pry(main)> Time.parse(start_time)=> 2020-11-04 11:15:32 +0800
# Python3>>> import time>>> import datetime>>> secs = time.mktime((2013, 5, 30, 3, 11, 12, 0, 0, 0))>>> time.asctime(time.localtime(secs))'Thu May 30 03:11:12 2013'>>> st = "2017-11-23 16:10:10">>> datetime.datetime.strptime(st, "%Y-%m-%d %H:%M:%S")datetime.datetime(2017, 11, 23, 16, 10, 10)

Time

# Ruby[15] pry(main)> Time.new.year=> 2020[16] pry(main)> Time.new.month=> 8[18] pry(main)> Time.new.day=> 27[19] pry(main)> Time.new.wday=> 4[20] pry(main)> Time.new.yday=> 240[21] pry(main)> Time.new.hour=> 22[22] pry(main)> Time.new.min=> 47[23] pry(main)> Time.new.sec=> 11[24] pry(main)> Time.new.usec=> 229665[25] pry(main)> Time.new.zone=> "CST"
# Python3>>> datetime.datetime.now().year2020>>> datetime.datetime.now().month8>>> datetime.datetime.now().day27>>> datetime.datetime.now().hour22>>> datetime.datetime.now().mindatetime.datetime(1, 1, 1, 0, 0)>>> datetime.datetime.now().minute50>>> datetime.datetime.now().second26>>> datetime.datetime.now().microsecond11814

Date 

# Ruby[14] pry(main)> require 'date'=> false[15] pry(main)> d = Date.today=> #
[17] pry(main)> d.to_s=> "2020-09-12"[18] pry(main)> d.year=> 2020[19] pry(main)> d.month=> 9[20] pry(main)> d.day=> 12[21] pry(main)> d.wday=> 6[22] pry(main)> d.mday=> 12[23] pry(main)> d.yday=> 256[24] pry(main)> d = Date.new(2013, 1, 4)=> #
[25] pry(main)> d.to_s=> "2013-01-04"
# Python3>>> import datetime>>> d = datetime.date.today()>>> ddatetime.date(2020, 9, 12)>>> str(d)'2020-09-12'>>> d.year2020>>> d.month9>>> d.day12>>> d = datetime.date(2013, 1, 4)>>> ddatetime.date(2013, 1, 4)>>> str(d)'2013-01-04'

格式化时间和日期

# Ruby[29] pry(main)> Time.new.strftime("%Y-%m-%d %H:%M:%S")=> "2020-08-27 22:54:27"
# Python3>>> import datetime>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")'2020-08-27 22:54:56

Time 运算

# Ruby[36] pry(main)> now = Time.now=> 2020-08-27 23:04:08.084837357 +0800[37] pry(main)> past = now - 10=> 2020-08-27 23:03:58.084837357 +0800[38] pry(main)> future = now + 10=> 2020-08-27 23:04:18.084837357 +0800[39] pry(main)> diff = future - now=> 10.0[49] pry(main)> now = Time.now=> 2020-08-27 23:25:33.698087266 +0800[50] pry(main)> yesterday = Time.now - 24 * 60 * 60=> 2020-08-26 23:25:36.10994221 +0800[51] pry(main)> tomorrow = Time.now + 24 * 60 * 60=> 2020-08-28 23:26:13.34698554 +0800
# Python3>>> import datetime>>> now = datetime.datetime.now()>>> nowdatetime.datetime(2020, 8, 27, 23, 13, 24, 681122)>>> ten_seconds = datetime.timedelta(seconds=10)>>> ten_secondsdatetime.timedelta(0, 10)>>> past = now - ten_second>>> pastdatetime.datetime(2020, 8, 27, 23, 13, 14, 681122)>>> future = now + ten_second>>> futuredatetime.datetime(2020, 8, 27, 23, 13, 34, 681122)>>> diff = future - now>>> diffdatetime.timedelta(0, 10)>>> datetime.date.today()datetime.date(2020, 8, 27)>>> yesterday = datetime.date.today() + datetime.timedelta(days=-1)>>> yesterdaydatetime.date(2020, 8, 26)>>> tomorrow = datetime.date.today() + datetime.timedelta(days=1)>>> tomorrowdatetime.date(2020, 8, 28)

Date 运算 

# Ruby[1] pry(main)> require 'date'=> true[2] pry(main)> d1 = Date.new(2013, 1, 1)=> #
[3] pry(main)> d2 = Date.new(2013, 1, 4)=> #
[4] pry(main)> d2 -d1=> (3/1)[10] pry(main)> d = Date.today=> #
[11] pry(main)> d + 1=> #
[12] pry(main)> d + 100=> #
[13] pry(main)> d - 1=> #
[14] pry(main)> d - 100=> #
[15] pry(main)> d >> 1=> #
[16] pry(main)> d >> 100=> #
[17] pry(main)> d << 1=> #
[18] pry(main)> d << 100=> #
# Python3>>> import datetime>>> d = datetime.date.today()>>> ddatetime.date(2020, 9, 12)>>> d + datetime.timedelta(days=1)datetime.date(2020, 9, 13)>>> d + datetime.timedelta(days=100)datetime.date(2020, 12, 21)>>> d + datetime.timedelta(days=-1)datetime.date(2020, 9, 11)>>> d + datetime.timedelta(days=-100)datetime.date(2020, 6, 4)

转载地址:http://ecjqi.baihongyu.com/

你可能感兴趣的文章
3D Modeling and Animation: Synthesis and Analysis Techniques for the Human Body
查看>>
DirectX 3D Graphics Programming Bible
查看>>
Access Forms & Reports For Dummies
查看>>
Access for Starters: The Missing Manual
查看>>
Ultimate Game Design: Building Game Worlds
查看>>
Secrets of the Game Business
查看>>
Building Cisco Remote Access Networks
查看>>
Integrating Excel and Access
查看>>
Lightwave 3D Character Animation
查看>>
Presenting Windows Workflow Foundation
查看>>
Visual Basic. NET professional projects
查看>>
Palm & Pocket PC Programming
查看>>
Visual Studio Tools for Office : Using Visual Basic 2005 with Excel, Word, Outlook, and InfoPath
查看>>
Pro JSP 2, Fourth Edition (Expert's Voice in Java)
查看>>
Microsoft SQL Server 2005 Reporting Services 2005
查看>>
User Mode Linux(R) (Bruce Perens Open Source)
查看>>
Enterprise JavaBeans 3.0 (5th Edition)
查看>>
Eclipse 3 Live
查看>>
Java P2P Unleashed: With JXTA, Web Services, XML, Jini, JavaSpaces, and J2EE
查看>>
Java(TM) Network Programming and Distributed Computing
查看>>