pymongo 日期类型
mongo中的日期类型,使用ISO格式,例如:ISODate("2012-11-02T07:58:51.718Z")。下面来测试一下:
C:\>mongo 127.0.0.1:2222/test
MongoDB shell version: 1.8.3
connecting to: 127.0.0.1:2222/test
type "help" for help
neu:PRIMARY> db.t2.insert({mydate:ISODate("2012-11-02T07:58:51.718Z")})
neu:PRIMARY> db.t2.find()
{ "_id" : ObjectId("50937ded0847cf5f01606dae"), "mydate" : ISODate("2012-11-02T07:58:51.718Z") }
日期字符串也支持多种格式
neu:PRIMARY> db.t2.insert({mydate:ISODate("2012-11-02 07:58:51")})neu:PRIMARY> db.t2.insert({mydate:ISODate("20121102 07:58:51")})neu:PRIMARY> db.t2.insert({mydate:ISODate("20121102")}) neu:PRIMARY> db.t2.find(){ "_id" : ObjectId("50937ded0847cf5f01606dae"), "mydate" : ISODate("2012-11-02T07:58:51.718Z") }{ "_id" : ObjectId("509380d22bb20f9946fb9004"), "mydate" : ISODate("2012-11-02T07:58:51Z") }{ "_id" : ObjectId("509381052bb20f9946fb9005"), "mydate" : ISODate("2012-11-02T07:58:51Z") }{ "_id" : ObjectId("509381102bb20f9946fb9006"), "mydate" : ISODate("2012-11-02T00:00:00Z") }
我们比较一下mongo中的当前时间与系统当前时间:
neu:PRIMARY> new Date()
ISODate("2012-11-02T08:13:10.250Z")
neu:PRIMARY> ^Z
bye
C:\>date
当前日期: 2012-11-02 星期五
输入新日期: (年月日)
C:\>time
当前时间: 16:13:14.95
输入新时间:
我们看到,mongo中的时间似乎与系统时间相差了8个小时,why?
这是因为mongo中的date类型以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时)时间。而系统时间使用的是GMT+0800时间,两者正好相差8个小时。
在mongodb与oracle或sqlserver相互同步数据时,需要注意这一点!
如果用python直接读取mongo中的日期,就会发生错误:
>>> import pymongo>>> conn=pymongo.Connection('127.0.0.1',2222)>>> db=conn.test>>> for row in db.t2.find():... print row['mydate']...2012-11-02 07:58:51.7180002012-11-02 07:58:512012-11-02 07:58:512012-11-02 00:00:002012-11-02 00:00:00
在python中,与之对应的日期是 datetime.datetime.utcnow(),而不是now(),两者正好差8个小时:
>>> import datetime >>> datetime.datetime.utcnow()datetime.datetime(2012, 11, 2, 8, 22, 52, 953000)>>> datetime.datetime.now()datetime.datetime(2012, 11, 2, 16, 22, 58, 218000)
关于二者的转换,可以参考这个链接:http://www.linuxso.com/linuxbiancheng/12653.html
pymongo 日期类型相关推荐
- MongoDB——ISODate日期类型
转载自:http://www.cnblogs.com/yuechaotian/archive/2013/02/02/2889824.html 当通过mongo shell来插入日期类型数据时,使用ne ...
- 解决:sql中将日期字符串当做日期类型处理
敲机房中看着同期的人的博客,学习存储过程的使用,在查询记录和金额查询这里,拥有共同的窗体,所以自己就使用了模板方法+存储过程!查询日期的过程让我遇到了问题. 在实体中声明了3个字段,分别是数据表,起始 ...
- SQLite 日期类型(转)
SQLite日期类型 简单示例: SELECT datetime(CHANGE_DATE,'localtime'), strftime('%Y-%m-%d',CHANGE_DATE,' ...
- R字符串(Strings)转为日期类型(Dates)
R字符串(Strings)转为日期类型(Dates) 目录 R字符串(Strings)转为日期类型(Dates) as.Date函数
- JavaScript 把字符串类型转换成日期类型
今天在写习题时,遇到些小问题,在这里把答案分享给大家,希望能帮助到大家! 一.把字符串转换成日期类型 1 var str = "1997-3-12"; 2 var d = new ...
- FieldGroup绑定的日期类型存储格式的问题
问题 日期存储的时候,当前数据库中存储格式为 "2017-9-5 0:00:00", 而我实现了以后,看到数据库的存储格式为 "Mon Sep 04 00:00:00 C ...
- 日期类型存储成字符串类型的格式问题
问题 ConversionException: Could not convert '2017-8-28 0:00:00' to java.util.Date at com.vaadin.data.u ...
- mysql8.0日期类型_MySQL8.0中的日期类数据及其函数
1.日期类数据类型 类型ZERO值有效值其他 DATE '0000-00-00' '1000-01-01'~'9999-12-31' 允许使用字符串或数字向date类型的列赋值 TIME '00:00 ...
- python读取excel日期内容读出来是数字-Python xlrd读取excel日期类型的2种方法
有个excle表格需要做一些过滤然后写入数据库中,但是日期类型的cell取出来是个数字,于是查询了下解决的办法. 基本的代码结构 复制代码 代码如下: data = xlrd.open_workboo ...
最新文章
- python 运算符 is 与 is not 的理解
- NLP(二十八)多标签文本分类
- 服务器标记“asp:ScriptManager”不明确。
- 【C++】C++自学旅程(5):指针和引用
- Mysql与Sql server,Sum函数跟Count函数
- 外观模式源码解析(springjdbc+myabtis+tomcat)
- codesys 简单案例_第一章:初识Codesys-1.4从一个示例程序讲起
- 使用requests模块简单获取数据
- C语言 堆内存操作
- 【HNOI 2016】大数
- python UI自动化无界面运行
- RTL8153B ,瑞昱千兆网卡芯片 ,扩展坞HUB千兆网口芯片。
- 可以上网但是不能ping通局域网
- 电脑桌面云便签怎么将界面最小化?
- python企业文档管理系统django
- 2016,我有些明白了
- MATLAB 2018a安装教程(迅雷)
- 2018.8.7 ACM 信息学奥赛之数学一本通 暑假训练总结(生死看淡,不服就干)
- 【B站】在电脑浏览B站视频时,暂停后自动播放的BUG
- How to Install Nvidia Kernel Module Cuda and Pyrit in Kali Linux