2010-03-03 98 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