Python date 类型转 datetime 类型

原创 2017年06月22日 11:12:51

datetime to date

在 Python 中,通过 datetime 获取到日志的 date 类型比较简单, datetime 提供了 date() 方法

In [1]: from datetime import datetime
In [2]: help(datetime.date)

In [3]: datetime.now()
Out[3]: datetime.datetime(2017, 6, 22, 10, 49, 22, 95457)

In [4]: datetime.now().date()
Out[4]: datetime.date(2017, 6, 22)

datetime date 比较

再看看下面一个例子

# coding:utf-8
# python2.7
# Convert date to datetime in Python
from datetime import datetime

today = datetime.now().date()
todaytime = datetime.now()

print today == todaytime
print today > todaytime

运行之后这样的

# python datetime_date_comp.py
Traceback (most recent call last):
  File "datetime_date_comp.py", line 8, in <module>
    today > todaytime
TypeError: can't compare datetime.datetime to datetime.date

datetime 和 date 不能进行 大小比较, 就有一个把 date 类型转成 datetime 类型的需求了

date to datetime

下面是几种方式

from datetime import datetime, date

d = date.today()
print datetime.combine(d, datetime.min.time())
print datetime.fromordinal(d.toordinal())
print datetime(d.year, d.month, d.day)
print datetime(*d.timetuple()[:-4])

simple test

In [8]: %time datetime(*d.timetuple()[:-4])
CPU times: user 10 µs, sys: 0 ns, total: 10 µs
Wall time: 25 µs
Out[8]: datetime.datetime(2017, 6, 22, 0, 0)

In [9]: %time datetime(d.year, d.month, d.day)
CPU times: user 5 µs, sys: 1 µs, total: 6 µs
Wall time: 16 µs
Out[9]: datetime.datetime(2017, 6, 22, 0, 0)

In [10]: %time datetime.fromordinal(d.toordinal())
CPU times: user 6 µs, sys: 0 ns, total: 6 µs
Wall time: 8.11 µs
Out[10]: datetime.datetime(2017, 6, 22, 0, 0)

In [11]: %time datetime.combine(d, datetime.min.time())
CPU times: user 8 µs, sys: 4 µs, total: 12 µs
Wall time: 11 µs
Out[11]: datetime.datetime(2017, 6, 22, 0, 0)

看起来 datetime(d.year, d.month, d.day) 这种方式更好一些。

版权声明:本文为orangleliu (http://blog.csdn.net/orangleliu/)原创文章,自由传播,文章转载请声明, 多谢。

相关文章推荐

(转)java datetime date 类型

datetime datejava.util.Date 就是在除了SQL语句的情况下面使用 java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分 它都有getTime方法返回...
  • xiaohk
  • xiaohk
  • 2011年02月09日 21:45
  • 41983

强大的字符串转DateTime/Date类型函数

字符串转DateTime/Date类型: 支持格式: 2016-2-6;16-02-06;20160206;160206;06-02-2016; 06Feb2016;6Feb2016;06FEB16;...

数据库中关于datetime、date 、time数据类型比较,及插入日期时间数据格式

USE [DemoDataBase] GO /****** Object:  Table [dbo].[tb_Time]    Script Date: 11/21/2013 14:26:10 *...

如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; imp...

MySQL数据库中的Date,DateTime和TimeStamp类型详解

DATETIME, DATE和TIMESTAMP类型是相关的。本文描述他们的特征,他们是如何类似的而又不同的。 DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且...
  • jpr1990
  • jpr1990
  • 2012年05月09日 20:33
  • 2255

java中存储mysql数据库时间类型【date、time、datetime、timestamp】

mysql中时间类型,date、time、datetime、timestamp,java存储mysql中时间

MySQL数据库中的Date,DateTime和TimeStamp类型

DATETIME, DATE和TIMESTAMP类型是相关的。本文描述他们的特征,他们是如何类似的而又不同的。   DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'...
  • meifage
  • meifage
  • 2011年12月04日 23:51
  • 360

MySQL中DATETIME、DATE和TIMESTAMP类型的区别

一、DATETIME 显示格式:YYYY-MM-DD HH:MM:SS 时间范围:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59'] 二、DATE ...
  • tolcf
  • tolcf
  • 2014年12月05日 11:44
  • 1612

数据库中的Date,DateTime和TimeStamp类型

DATETIME, DATE和TIMESTAMP类型是相关的。本文描述他们的特征,他们是如何类似的而又不同的。 DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYY...

使用Hibernate轻松解决java中date与datetime类型不兼容的问题

在建立MySQL表使,发帖时间用的datetime类型。并且用系统函数now()来实现。在Java实体类中用的java.util.date类型。发现这是犯愁了,众所周至,java中时间类型一直是让人头...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python date 类型转 datetime 类型
举报原因:
原因补充:

(最多只允许输入30个字)