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/)原创文章,自由传播,文章转载请声明, 多谢。

DateTime之时间比较(CompareTo)精度问题

如果当前时间为2007年7月19日13时56分47秒      Convert.ToDateTime("07/07/19").CompareTo(DateTime.Now) 此时返回的值为“-1”  ...
  • didiaodezhu
  • didiaodezhu
  • 2009年12月17日 08:50
  • 19524

python时间处理之date

# -*- coding: utf-8 -*- from datetime import * import time # 1. date常用的类方法和类属性 #date对象所能表示的最大日期: 99...
  • wirelessqa
  • wirelessqa
  • 2012年09月12日 23:18
  • 21318

python中date、datetime、string的相互转换

import datetime import time string转datetime str = '2012-11-19' date_time = datetime.date...
  • yuchenwuhen
  • yuchenwuhen
  • 2016年04月09日 10:07
  • 8900

Python date 类型转 datetime 类型

datetime to date在 Python 中,通过 datetime 获取到日志的 date 类型比较简单, datetime 提供了 date() 方法In [1]: from dateti...
  • lzz957748332
  • lzz957748332
  • 2017年06月22日 11:12
  • 368

python中date、datetime、string的相互转换

import datetime import time string转datetime str = '2012-11-19' date_time = datetime.dateti...
  • wangkun__
  • wangkun__
  • 2016年12月02日 16:41
  • 8068

java的Date类型转换成MySQL的DateTime类型

 java的Date类型转换成MySQL的DateTime类型在网络游戏开发中,常常需要将记录游戏开始的时间和结束的时间,并写到数据库中去。各种数据库的日期类型于java的Date类型往往是不一致的,...
  • liu01983zm
  • liu01983zm
  • 2006年08月30日 11:48
  • 8848

Java Date和MySQL datetime数据类型转换

在使用时间作为查询语句的参数时,java.util.Date数据类型的格式和MySQL中的datetime数据类型的格式是不同的,这时需要在把时间参数插入SQL语句前先把Date的格式转换一下,代码如...
  • Q_AN1314
  • Q_AN1314
  • 2016年07月05日 21:53
  • 2851

python的时间转换datetime和pd.to_datetime

我们在python对数据进行操作时,经常会选取某一时间段的数据进行分析。这里为大家介绍两个我经常用到的用来选取某一时间段数据的函数:datetime( )和pd.to_datetime( )。 (一)...
  • lz_peter
  • lz_peter
  • 2017年09月24日 11:38
  • 3123

python datetime 与时间戳相互转换

python datetime 与时间戳相互转换首先需要引入的时间相关模块:import time, datetime from datetime import date, datetime, tim...
  • cheungmine
  • cheungmine
  • 2017年02月21日 16:03
  • 3393

python timestamp和datetime之间的转换

1. 字符串日期时间转换成时间戳 # '2015-08-28 16:43:37.283' --> 1440751417.283 # 或者 '2015-08-28 16:43:37' --> 144...
  • xxm524
  • xxm524
  • 2015年08月28日 17:23
  • 24815
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python date 类型转 datetime 类型
举报原因:
原因补充:

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