2010-03-03 51 views
0

如果我做了以下我可以從一個time_struct對象轉換爲datetime對象:下面的代碼如何工作?如何使用struct_time對象?

mydate = datetime.datetime(*time.localtime()[:6]) 

請問這個代碼工作的? *[:6]是什麼意思?

+1

下面是Python參考的鏈接:http://docs.python.org/reference/ – 2010-03-03 21:31:32

回答

4

*argument unpacking,[:6]slicing。即從time.localtime()返回的任何內容(即,time.struct_time)被切片並且前6個元素被解包並且6個參數被傳遞給datetime.datetime

對所有這些話題都有很多關於SO的問題。

3

*time.localtime()表示從本地時間返回的tuple被解包(轉換爲傳遞給datetime的參數)。 [:6]表示僅使用tuple的一部分,該運算符返回前六個元素的新的tuple

該代碼以時間模塊的形式從一個元組中取出localtime,並將其傳遞給好的datetime對象構造函數。在日期時間對象上工作是很好的,他們更好,然後localtime元組。 localtime返回代表當地時間的值的tuple

+2

參考1:「*」運算符:http://docs.python.org/reference/compound_stmts.html#function -definitions – 2010-03-03 21:32:29

+2

參考2:[:]切片操作:http://docs.python.org/reference/expressions.html#slicings – 2010-03-03 21:33:39

相關問題