【Time系列一】datetime的妙用

??????? 今天在弄個自動關機小腳本的時候,遇到了時間轉換的問題,也難怪,以前沒學過,

不能怪我不會哦!

??????? 首先,先學會打印出當前時間的幾種方式

??????? 參考開源社區: ? http://my.oschina.net/u/1032854/blog/198179#OSC_h1_3

??????? 菜鳥編程: ? http://www.runoob.com/python/python-date-time.html

?

1. time.ctime()函數—輸出固定的日期格式

1 from time import ctime
2 
3 # 該函數只能以 " 星期 月 日 時:分:秒 年 " 的格式顯示日期
4 print ctime()

2. time.localtime()函數—同time.ctime()都是按固定順序輸出日期

1 from time import localtime
2 
3 # 也是以固定順序輸出—"年 月 日 時:分:秒"  
4 print "%d/%d/%d %d:%d:%d" % localtime()[0:6]

3. datetime.datetime—輸出固定的日期格式

【不過是精確到微秒10的-6方秒】

1 from datetime import datetime
2  
3 # 以年-月-日 時:分:秒的格式顯示
4 # print datetime.now()
5  print datetime.today()

4. time.strftime()函數—同上

1 from time import strftime
2 
3 # 格式化成 2016-08-31 10:53:42的形式
4 print strftime("%Y-%m-%d %H:%M:%S")

當然,你也可以這樣格式化日期

from time import strftime# 格式化成 Wed Aug 10:58:25 2016 形式
print strftime("%a %b %H:%M:%S %Y")
另一種格式

在這里,我們要用到 "年/月/日 時:分:秒" 的格式, 所以就選擇后者time.strftime()!

?

-|---->-----------------------------------------------------------------------------------------------------<<<---

在開始前,有必要給大家介紹下python中時間日期格式化符號:

  • %y 兩位數的年份表示(00-99)
  • %Y 四位數的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月內中的一天(0-31)
  • %H 24小時制小時數(0-23)
  • %I 12小時制小時數(01-12)
  • %M 分鐘數(00=59)
  • %S 秒(00-59)

1. 字符串(string)轉化為datetime.datetime

這里我們用到datetime.datetime.strptime()

1 # 字符串轉化為datetime.datetime
2 import datetime
3  
4 str = "2016/8/31"
5  
6 # Y:(Year)年, m:(month)月, d:(day)日
7 dt = datetime.datetime.strptime(str, "%Y/%m%d")
8 pritn dt
str 2 datetime

2. datetime.datetime轉化為時間戳

大部分語言里的時間戳是從格林尼治的1970年1月1日子夜(0點)到現在的總毫秒數,不過在python里則

是總秒數,由于我們是東八區,所以對我們來說是從8點開始算起的,要查看起始時間,可以用上面說

到的time.ctime(0)函數! ! !

1 # datetime.datetime 轉化為時間戳
2 
3 # str轉化為datetime.datetime
4 str = "2016/8/31"
5 dt = datetime.datetime.strptime(str, "%Y/%m/%d")
6 
7 # datetime.datetime轉化為時間戳
8 time.mktime(dt.timetuple())
datetime 2 timestamp

3. 時間戳轉化為字符串

 1 # 時間戳轉化為字符串
 2 
 3 import time
 4 import datetime
 5 
 6 # str轉為datetime.datetime
 7 str = "2016/8/31"
 8 dt = datetime.datetime.strptime(str, "%Y/%m/%d")
 9 
10 # str 轉為時間戳
11 time_stamp = time.mktime(dt.timetuple())
12 
13 # 時間戳轉為字符串
14 str = time.strftime("%Y/%m/%d", time.localtime(time_stamp))
15 
16 print str
timestamp 2 str

也許大家看了上面的介紹會覺得好像也就這樣,弄不出點什么好玩的東東,那你就錯了,還記得前面說的自動關機的腳本么 ?

下一篇就帶大家實現這個功能!

轉載于:https://www.cnblogs.com/Ruby517/p/5827140.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270988.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270988.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270988.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

循環體內,字符串的連接方式,使用StringBuilder的append方法進行擴展

循環體內&#xff0c;字符串的連接方式&#xff0c;使用StringBuilder的append方法進行擴展

JS樹結構操作:查找、遍歷、篩選、樹結構和列表結構相互轉換

經常有同學問樹結構的相關操作&#xff0c;也寫了很多次&#xff0c;在這里總結一下 JS 樹形結構一些操作的實現思路&#xff0c;并給出了簡潔易懂的代碼實現。本文內容結構大概如下&#xff1a;JS樹結構相關操作1遍歷樹結構1. 樹結構介紹JS中樹結構一般是類似于這樣的結構&…

python框架django的使用_Django框架的基本使用,若依框架

Django框架的基本使用&#xff0c;若依框架Django框架的基本使用Django是一個功能強大的web框架框架模式1、MVC和MTV框架MVC&#xff1a;Web服務器開發領域里著名的MVC模式&#xff0c;所謂MVC就是把Web應用分為模型(M)&#xff0c;控制器(C)和視圖(V)三層&#xff0c;結構說明…

初學js

今天開始接觸js&#xff0c;知道了js的功能以及學習的意義&#xff0c; 今天從命名的規范和數值的規則就能看出js是1門非常嚴謹的課程&#xff0c;只有做好細節才能體現出js的強大之處&#xff0c; var是定義一個名字 var name1&#xff1b; 定義了還能賦值&#xff0c;可以是數…

數據庫:SQLServer中GUID用法介紹

今天給大家分享一下SQLServer中生成GUID的用法。一、NEWID用法NEWID()作用是生成無順序的GUID字符串。用法如下&#xff1a;SELECT NEWID() --生成36位的GUIDSELECT REPLACE(newid(), -, ) -- 生成32 位的GUID二、NEWSEQUENTIALID用法1、NEWSEQUENTIALID是什么&#xff1f;在指…

oracle po:默認申請分組,PR自動創建PO采購訂單:強制按照PR行進行分組

有時候&#xff0c;需要實現強制按照PR行來自動創建PO。舉個例子&#xff1a;假設2張PR&#xff0c;同一個物料&#xff0c;同一個需求日期等等的&#xff0c;在合并采購訂單的時候&#xff0c;希望是2個PO行。按照標準功能的處理邏輯&#xff0c;如果是同一個物料需求日期(配置…

cserialport 循環發送信號_C++信號處理

免費C語言教程&#xff1a;阿里云大學——開發者課堂(點擊文章最下方“了解更多”)信號是由操作系統傳給進程的中斷&#xff0c;會提早終止一個程序。在 UNIX、LINUX、Mac OS X 或 Windows 系統上&#xff0c;可以通過按 CtrlC 產生中斷。有些信號不能被程序捕獲&#xff0c;但…

Javascript第一天

引入的三種方法&#xff1a; 1、將javascript代碼插入html文檔<head>部分的<script>標簽中 例&#xff1a;<head> <script type“text/javascript”> //javascript 代碼 alert(‘hello world’); </script> </head> 2、將javascript代碼存…

不要在foreach循環里進行元素的remove/add操作。remove元素請使用iteratot方式,如果并發操作,需要對Iterator對象加鎖

不要在foreach循環里進行元素的remove/add操作。remove元素請使用iteratot方式&#xff0c;如果并發操作&#xff0c;需要對Iterator對象加鎖

Win7和Win10操作系統優劣對比,看完你就懂了!

一直以來&#xff0c;針對微軟的Windows系統討論最熱烈的莫過于win7和win10系統了&#xff0c;兩者究竟誰好誰壞&#xff1f;小編今天就帶大家從幾個不同的角度分析兩者的優缺點&#xff0c;如有不對&#xff0c;歡迎大家指正&#xff01;一、win 7系統的幾大特點&#xff1a;1…

linux bash命令找不到,Linux下提示命令找不到:bash:command not found

Linux下輸入某些命令時會提示&#xff1a;bash:command not found。首先&#xff0c;查看$PATH中是否包含了這些命令。$PATH&#xff1a;決定了shell到哪些目錄中去尋找命令或程序&#xff0c;PATH值是一系列的目錄。當運行程序時&#xff0c;linux到這些目錄下搜索進行編譯鏈接…

dhcp 續約review報文_Linux的私房菜 DHCP

譯DHCP服務DHCP的全稱是動態主機配置協議&#xff0c;用來自動給客戶機分配TCP/IP信息的網絡協議。Dynamic Host Configuration Protocol&#xff0c;前身是BOOTP協議&#xff0c;是一個局域網的網絡協議&#xff0c;使用UDP協議工作&#xff0c;統一使用兩個IANA分配的端口&am…

硬件編程:硬件開發中常用的幾種通信接口總結

在嵌入式系統中&#xff0c;板上通信接口是指用于將各種集成電路與其他外圍設備交互連接的通信通路或總線。以下內容為常用板上通信接口&#xff1a;包括I2C、SPI、UART、1-Wire&#xff1a;I2C總線I2C總線是一種同步、雙向、半雙工的兩線式串行接口總線。這里&#xff0c;半雙…

集合初始化時,指定集合初始值大小

集合初始化時&#xff0c;指定集合初始值大小

hadoop常用linux命令,# Hadoop學習筆記(二)——Linux常用命令

ifconfigLinux ifconfig命令用于顯示或設置網絡設備。ifconfig可設置網絡設備的狀態&#xff0c;或是顯示目前的設置。ifconfig.png語法ifconfig [網絡設備][down up -allmulti -arp -promisc][add][del][][io_addr][irq][media][mem_start][metric][mtu][netmask][tunnel][-br…

數據庫:計算地球上兩個坐標點之間里程

今天給大家分享計算地球上兩個坐標點之間里程不同數據庫版本的腳本。1、SQLServer腳本–-計算地球上兩個坐標點&#xff08;經度&#xff0c;緯度&#xff09;之間距離sql函數 CREATE FUNCTION [dbo].[fnGetDistance](LatBegin REAL , LngBegin REAL, LatEnd REAL, LngEnd REA…

jvm 崩潰日志設置_JVM致命錯誤日志(hs_err_pid.log)分析(轉載)

當jvm出現致命錯誤時&#xff0c;會生成一個錯誤文件 hs_err_pid.log&#xff0c;其中包括了導致jvm crash的重要信息&#xff0c;可以通過分析該文件定位到導致crash的根源&#xff0c;從而改善以保證系統穩定。當出現crash時&#xff0c;該文件默認會生成到工作目錄下&#x…

使用entrySet遍歷Map類集合KV,而不是keySet方式進行遍歷

使用entrySet遍歷Map類集合KV,而不是keySet方式進行遍歷

【Qt開發】Qt Creator在Windows上的調試器安裝與配置

Qt Creator在Windows上的調試器安裝與配置 如果安裝Qt時使用的是Visual Studio的預編譯版&#xff0c;那么很有可能就會缺少調試器&#xff08;Debugger&#xff09;&#xff0c;而使用MSVC的Qt對應的原生調試器是CDB&#xff08;對應MinGW的Qt使用GDB調試器&#xff09;。本文…