Python时间模块datetime、time、calendar的使用方法
本文简单总结了一下Python处理时间和日期方面的模块,主要就是datetime、time、calendar三个模块的使用,希望这篇文章对于学习Python的朋友们有所帮助。
首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了。
import datetime import time import calendar
1.获取到此时的准确时间
# 获取此时的时间 print time.localtime()
//输出格式为: time.struct_time(tm_year=2015, tm_mon=12, tm_mday=29, tm_hour=1, tm_min=10, tm_sec=25, tm_wday=1, tm_yday=363, tm_isdst=0)
2.获取当天的日期
# 获取当天的日期 print datetime.datetime.now() print datetime.date.today()
3.获取昨天的日期
# 获取昨天的日期 def getYesterday(): today = datetime.date.today() oneday = datetime.timedelta(days=1) yesterday = today - oneday print type(today) # 查看获取到时间的类型 print type(yesterday) return yesterday yesterday = getYesterday() print "昨天的时间:", yesterday
4.获取n天以前的日期
这个应该就不用给出代码了吧,稍微想想就可以得出结果了。
5.字符串转换为时间和日期
# 字符串转换为时间 def strTodatetime(datestr, format): return datetime.datetime.strptime(datestr, format) print time.strftime("%Y-%m-%d", time.localtime()) print strTodatetime("2014-3-1","%Y-%m-%d") print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print strTodatetime("2005-2-16","%Y-%m-%d")-strTodatetime("2004-12-31","%Y-%m-%d")
输出结果:
2015-12-29
2014-03-01 00:00:00
2015-12-29 01:10:25
47 days, 0:00:00
6.获取日历相关信息
# 获取某个月的日历,返回字符串类型 cal = calendar.month(2015, 12) print cal calendar.setfirstweekday(calendar.SUNDAY) # 设置日历的第一天 cal = calendar.month(2015, 12) print cal # 获取一年的日历 cal = calendar.calendar(2015) print cal cal = calendar.HTMLCalendar(calendar.MONDAY) print cal.formatmonth(2015, 12)
7.calendar模块还可以处理闰年的问题
# 判断是否闰年、两个年份之间闰年的个数 print calendar.isleap(2012) print calendar.leapdays(2010, 2015)
针对Python时间模块datetime\time进行详细探讨。
转义符对应意义如下
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %j 年内的一天(001-366)
- %m 月份(01-12)
- %M 分钟数(00=59)
- %p 本地A.M.或P.M.的等价符
- %S 秒(00-59)
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %Z 当前时区的名称
- %% %号本身
代码:
import time import datetime #两日期相减 d1 = datetime.datetime(2005, 2, 16) d2 = datetime.datetime(2004, 12, 31) print (d1 - d2).days #运行时间: starttime = datetime.datetime.now() endtime = datetime.datetime.now() print (endtime - starttime).seconds #计算当前时间向后10天的时间。 # 如果是小时 days 换成 hours d1 = datetime.datetime.now() d3 = d1 datetime.timedelta(days =10) print str(d3) print d3.ctime() time.ctime([sec])#把秒数转换成日期格式,如果不带参数,则显示当前的时间。 >>> import time >>> time.ctime() >>> "Wed Jun 14 15:02:50 2006" >>> time.ctime(1138068452427683) "Sat Dec 14 04:51:44 1901" >>> import time >>> time.strftime("%Y-%m-%d %X",time.localtime()) "2011-03-15 20:42:12" >>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) "2011-03-15 20:03:47" DateTime模块 ---------------------------- datetime 将日期转化为秒 >>> import datetime,time >>> time.mktime(datetime.datetime(2009,1,1).timetuple()) 1230739200.0 >>> cc=[2000,11,3,12,43,33] #Attributes: year, month, day, hour, minute, second >>> time.mktime(datetime.datetime(cc[0],cc[1],cc[2],cc[3],cc[4],cc[5]).timetuple()) 973226613.0 time.time()取得当前时间; time.localtime()取得本地时间; time.strftime()格式化日期; time.strptime(timeString)把字符串转化为日期; 判断输入的日期是星期几 >>> datetime.datetime(2011,02,15).weekday() 1 >>> datetime.datetime(2011,02,15).weekday() 1 >>> datetime.datetime(2011,02,16).weekday() 2 >>> datetime.datetime(2011,02,17).weekday() 3 >>> datetime模块获取当前时间 >>> datetime.datetime.utcnow() datetime.datetime(2011, 3, 15, 13, 19, 32, 264194) >>> datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") 格式化 '2011-03-15 13:19:27' >>>
以上就是关于Python时间模块的详细学习,希望对大家学习Python程序设计有所帮助。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ほとんどのテキストエディターを使用して、XMLファイルを開きます。より直感的なツリーディスプレイが必要な場合は、酸素XMLエディターやXMLSPYなどのXMLエディターを使用できます。プログラムでXMLデータを処理する場合、プログラミング言語(Pythonなど)やXMLライブラリ(XML.ETREE.ELEMENTTREEなど)を使用して解析する必要があります。

XMLの美化は、合理的なインデンテーション、ラインブレーク、タグ組織など、本質的に読みやすさを向上させています。原則は、XMLツリーを通過し、レベルに応じてインデントを追加し、テキストを含む空のタグとタグを処理することです。 PythonのXML.ETREE.ELEMENTTREEライブラリは、上記の美化プロセスを実装できる便利なchile_xml()関数を提供します。

Mobile XMLからPDFへの速度は、次の要因に依存します。XML構造の複雑さです。モバイルハードウェア構成変換方法(ライブラリ、アルゴリズム)コードの品質最適化方法(効率的なライブラリ、アルゴリズムの最適化、キャッシュデータ、およびマルチスレッドの利用)。全体として、絶対的な答えはなく、特定の状況に従って最適化する必要があります。

単一のアプリケーションで携帯電話でXMLからPDF変換を直接完了することは不可能です。クラウドサービスを使用する必要があります。クラウドサービスは、2つのステップで達成できます。1。XMLをクラウド内のPDFに変換し、2。携帯電話の変換されたPDFファイルにアクセスまたはダウンロードします。

XML構造が柔軟で多様であるため、すべてのXMLファイルをPDFSに変換できるアプリはありません。 XMLのPDFへのコアは、データ構造をページレイアウトに変換することです。これには、XMLの解析とPDFの生成が必要です。一般的な方法には、ElementTreeなどのPythonライブラリを使用してXMLを解析し、ReportLabライブラリを使用してPDFを生成することが含まれます。複雑なXMLの場合、XSLT変換構造を使用する必要がある場合があります。パフォーマンスを最適化するときは、マルチスレッドまたはマルチプロセスの使用を検討し、適切なライブラリを選択します。

XMLを介して画像を生成するには、XMLのメタデータ(サイズ、色)に基づいて画像を生成するために、ブリッジとしてグラフライブラリ(枕やJFreechartなど)を使用する必要があります。画像のサイズを制御するための鍵は、< width>の値を調整することです。および< height> XMLのタグ。ただし、実際のアプリケーションでは、XML構造の複雑さ、グラフ描画の細かさ、画像生成の速度とメモリ消費の速度、および画像形式の選択はすべて、生成された画像サイズに影響を与えます。したがって、グラフィックライブラリに熟練したXML構造を深く理解し、最適化アルゴリズムや画像形式の選択などの要因を考慮する必要があります。

XMLをPDFに直接変換するアプリケーションは、2つの根本的に異なる形式であるため、見つかりません。 XMLはデータの保存に使用され、PDFはドキュメントを表示するために使用されます。変換を完了するには、PythonやReportLabなどのプログラミング言語とライブラリを使用して、XMLデータを解析してPDFドキュメントを生成できます。

携帯電話でXMLをPDFに直接変換するのは簡単ではありませんが、クラウドサービスの助けを借りて実現できます。軽量モバイルアプリを使用してXMLファイルをアップロードし、生成されたPDFを受信し、クラウドAPIで変換することをお勧めします。クラウドAPIはサーバーレスコンピューティングサービスを使用し、適切なプラットフォームを選択することが重要です。 XMLの解析とPDF生成を処理する際には、複雑さ、エラー処理、セキュリティ、および最適化戦略を考慮する必要があります。プロセス全体では、フロントエンドアプリとバックエンドAPIが連携する必要があり、さまざまなテクノロジーをある程度理解する必要があります。
