添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

这篇只针对目标格式为 yyyy-MM-dd HH:mm:ss ,有其它需求的就不用看啦~

今天被提了个要求要统一爬取过来的某日期字段为yyyy-MM-dd HH:mm:ss格式。一看才发现原来存储的日期格式五花八门的,几乎什么样子的都有,所以下面我对不同情况用不同的方法去处理。发现所有数据主要就两大类,做个总结:

一、 原数据是其他五花八门的时间格式 ,如 2021 ,2016-02-24,2016/02/24  2016-02,2018/1等, 我们可以直接使用强大的 pandas 库。

date = str(pd.to_datetime(date, format='%Y/%m/%d'))

比如:原 date=2021 ,处理后date=2021-01-01 00:00:00

可以发现通过pandas的这个方法,会自动用默认值补齐月份和时分秒。给的数据缺少什么,就会补足什么。 基本上常见的日期分隔符,pandas都可以识别,所以我非常推荐这个方法

如果数据是“2018615日”这种,自己处理成可以给pandas用的日期分隔符就好啦。比如用
date = date.replace('年', '/').replace('月', '/').replace('日', '')
替换一下,再传给该方法,其他情况就不过多讨论了。

二、原数据是时间戳格式,是正时间戳,593280071424000等。

不管时间戳是几位的,只要是正数,可直接:
date = time.localtime(int(date))
date = time.strftime("%Y-%m-%d %H:%M:%S", date)
就可以得到yyyy-MM-dd HH:mm:ss日期格式。
如果时间戳是负数,用这个:
date = str(datetime.datetime(1970, 1, 1) + datetime.timedelta(seconds=int(date)))
   (时间戳是围绕1970年1月1日前后的,不多解释了)  
  做个小结:日期之间的转化方式实在是太多了,可以用time,可以用datetime,还可以用pandas,真的没必要全部总结出来,逮住啥能起作用就用吧!在这方面我觉得就是能用就行~
这篇只针对目标格式为yyyy-MM-dd HH:mm:ss的,有其它需求的就不用看啦~ 今天被提了个要求要统一爬取过来的某日期字段为yyyy-MM-dd HH:mm:ss格式。一看才发现原来存储的日期格式五花八门的,几乎什么样子的都有,所以下面我对不同情况用不同的方法去处理。发现所有数据主要就两大类,做个总结: 一、原数据是其他五花八门的时间格式,如2021,2016-02-24,2016/02/24 2016-02,2018/1等,我们可以直接使用强大的pandas库。可以用...
0 前 言 我们有时候在写批处理 Shell 脚本时,可能需要获取指定日期前(后) N 天/月/年的日期,这里的 N 可以是 1 天/月/年、2 天/月/年、3 天/月/年等等。方法其实很简单,这里做一个简单记录。基于这个语法,我们也可以写一个循环,将指定日期 N 天内的数据都做一个处理。 一、获取 N 天前(后)日期 首先是获取当前日期: DATE=$(date +%Y%m%d) 这个命令就会将 DATE 赋值为 20190904,%Y%m%d 就是这个日期格式,相应的还有 %Y%m(年月,
Python中,通常有这几种方式来表示时间时间戳(timestamp), 表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。例子:1554864776.161901 格式化的时间字符串,比如“2020-10-03 17:54” 元组(struct_time)共九个元素。 由于Python的time模块实现主要调用C库,所以各个平台可能有所不同, mac上:time.struct_time(tm_year=2020, tm_mon=4, tm_mday=10, tm_hour=2, tm_min=53, tm_sec=15, tm_wday=2, tm_yda
var str = '2013-08-30'; // 日期字符串 str = str.replace(/-/g,'/'); // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串 var date = new Date(str); // 构造一个日期型数据,值为传入的字符串 var time = date.getTime();. python中常用的时间模块包括time与datetime。之前虽然一直在用相关模块,但是没有做过系统总结,理解也不是很到位,没有做到融会贯通的程度。正好趁着项目中正在写相关代码,顺便做个总结,争取所有人看到此文对这两个模块都有很清晰的认知。 1.time模块 要想了解一个模块的大致情况,首先我们可以点到相关源码中看看注释说明。 This module provides various functions to manipulate time values. There are two date 日期对象,常用的属性有year,month,day time 时间对象,常用的属性有hour,minute,second,毫秒 datetime 日期时间对象,常用的属性有hour,minute,second,microsecond timedelta 时间间隔对象,即两个时间点之间的长度 date与time应用方式 import datetime date_ = datetime.date(1970,1,1) # 参数为 创建两个日期格式化,一个是出问题的YYYY-MM-dd,另一个是正确用法yyyy-MM-dd 分别去格式化两个不同的日期:2020年12月26日(周六),2020年12月27日(周日) @Test public void dateTest() { // 指定了两个时区 // 通过指定具体的 年月日时分秒 构建 一个 LocalDateTime 对象(无时区), 绑定 到 北京时区,转为
有时候从别处获取到数据的日期数据格式不统一,比如不是我个人常用的 2019-10-22这种以横杠连接的格式,需要将其转化一下。 转化方式如下: import datetime datetime.datetime.strptime('2019/10/22', '%Y/%m/%d').strftime('%Y-%m-%d') 同理, 如果源数据连接的方式不是 / 是 点 “.” 或者其他符号,也可以...
sql-db-get-使用Python和SQL语句从不同服务器上的两个数据库中获取数据 该项目的目的是从位于两个不同服务器上的两个数据库中获取数据。 输出是CSV文件,其中包含将这些数据库中的数据连接起来的信息。 该信息将使用时间表定期收集。 文件将以以下格式存储:YYYY-MM-DD_HH-MM-SS_(AM或PM).csv 使用有关数据库的信息更新input_data.py: db_name-数据库名称db_user-数据库用户名(用于认证)db_password =用于认证db_host的数据库密码-数据库主机地址(如果未提供,则默认为UNIX套接字)db_port-连接端口号(如果未提供,则默认为5432) db_sql_query-每个数据库SQL查询 file_path-目标文件夹
有时候我们会获取一些时间戳作为相关的参数值,但是在python中无论是time函数还是datetime函数都无法提供准确的参数值。本文介绍一下如何获取yyyyMMddHHmmssSSS、yyyyMMddHHmmssSSyyyyMMddHHmmssSSS等四种格式时间戳。 def getDate(): # 获取yyyyMMdd格式 trandate = datetime.d...
小写的h是12小时制,大写的H是24小时制。 书写格式语言规定有关,上述写法是Windows系统中的我们常见的写法,包括日期设置于办公软件在内。在其他语言中有类似的但使用符号或格式不同的写法。 有的时候我们会看到这样的
你可以使用任何编程语言中的字符串处理函数和日期/时间库函数来实现这种转换。例如,在 Python 中,可以使用 strptime 函数将字符串解析为日期时间对象,再使用 strftime 函数将日期时间对象格式化为另一种字符串格式。 下面是一个 Python 示例代码: from datetime import datetime date_string = "20230211/094530" date_format = "%Y%m%d/%H%M%S" # 解析字符串 dt = datetime.strptime(date_string, date_format) # 格式日期时间对象 new_date_string = dt.strftime("%Y-%m-%d %H:%M:%S") print(new_date_string) 输出结果为: 2023-02-11 09:45:30