经常需要爬取网站上的时间信息,不同的网站又有不同的日期显示方式。而我需要将日期格式转化为一种特定的格式,所以为了简便和学习,记录下各种不同的日期格式转换。

日期格式化符号:

*%y :两位数的年份表示(00-99)

*%Y :四位数的年份表示(000-9999)

*%m :月份(01-12)

*%d :月内中的一天(0-31)

*%H :24小时制小时数(0-23)

*%I :12小时制小时数(01-12)

*%M :分钟数(00=59)

*%S :秒(00-59)

*%a :本地简化星期名称

*%A :本地完整星期名称

*%b :本地简化的月份名称

*%B :本地完整的月份名称

*%c :本地相应的日期表示和时间表示

*%j :年内的一天(001-366)

*%p :本地A.M.或P.M.的等价符

*%U :一年中的星期数(00-53)星期天为星期的开始

*%w :星期(0-6),星期天为星期的开始

*%W :一年中的星期数(00-53)星期一为星期的开始

*%x :本地相应的日期表示

*%X :本地相应的时间表示

*%Z :当前时区的名称

*%% :%号本身

将日期从一种格式转化为另一种格式:

import time
def trans_format(time_string, from_format, to_format='%Y.%m.%d %H:%M:%S'):
time_struct = time.strptime(time_string, from_format)
times = time.strftime(to_format, time_struct)
return times #将11 May转为mm-dd形式
time_string = "11 May"
times = trans_format(time_string, '%d %b', '%m-%d') #由于没有输入年份,所以输出的默认年份是1900

将1:00pm这种格式转为24小时制

import time
import datetime ##此方法适用于将12小时制AM/PM转化为24小时制
##12.30pm -> 12:30
##12.30am -> 00:30
##1.30pm - >13.30
def time12to24(time_string, formats): times = time.strftime("%H.%M", time.strptime(time_string, formats)) #将时间转为hh.mm类型
ftime = datetime.datetime.strptime(times, "%H.%M") #将times字符串转为%H.%M的datetime类型
if time_string.find("am") > -1:
if times >= '12.00':
ftime = ftime + datetime.timedelta(hours=36) # +36小时而不是-12小时的原因:如果未提供年份,则默认为1900,如果-12小时,年份有可能为1899,会异常
elif time_string.find("pm") > -1:
if times < '12.00':
ftime = ftime + datetime.timedelta(hours=12) times = ftime.strftime("%H:%M")

Python 日期格式转换的更多相关文章

  1. python日期格式转换小记

    utc格林时间==>东八区北京时间 原始日期格式: utctime = ‘2016-07-26 10:08:29’ localtime = (datetime.datetime.fromtime ...

  2. Python datatime 格式转换,插入MySQL数据库

    Python datatime 格式转换,插入MySQL数据库 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-11-2 ...

  3. 日期格式转换 java 2016-09-03T00:00:00.000+08:00

    /**  * 日期格式转换yyyy-MM-dd'T'HH:mm:ss.SSSXXX  (yyyy-MM-dd'T'HH:mm:ss.SSSZ) TO  yyyy-MM-dd HH:mm:ss  * @ ...

  4. Oracle日期格式转换,tochar(),todate()

    Oracle日期格式转换 本文主要介绍Oracle中的日期转换. 1. 日期转化为字符串 (以2016年10月20日为例) select to_char(sysdate,'yyyy-mm-dd hh2 ...

  5. SpringMVC与MyBatis整合之日期格式转换

    在上一篇博客<SpringMVC与MyBatis整合(一)——查询人员列表>中遗留了日期格式转换的问题,在这篇记录解决过程. 对于controller形参中pojo对象,如果属性中有日期类 ...

  6. 在SQL Server中 获取日期、日期格式转换

    --常用日期转换参数: PRINT CONVERT(varchar, getdate(), 120 ) 2016-07-20 16:09:01 PRINT replace(replace(replac ...

  7. ABAP - 日期格式转换 &amp; ABAP经常使用日期处理函数

    ABAP - 日期格式转换 如今提供下面一些日期格式转换的函数: Below are several FMs which can be used to convert date format. 1. ...

  8. freemark声明变量,boolean,date,date日期格式转换成String类型的(五)

    <br/>assign用来定义变量<#assign name="刘德华"><br/> 获取assign定义变量的值:${name} <br ...

  9. ssm日期格式转换

    ssm日期格式转换 1      需求 前端传入字符串类型日期转化成java中的Date类型,存入数据库中;将数据库中的日期类型通过jstl标签在前端页面转换成字符串类型. 2      步骤 2.1 ...

随机推荐

  1. 模式窗口刷新不弹出新窗口触发NET事件

    最近做项目的时候用到模式窗口,这个东西我从来没有用过,事实上我是讨厌用这个东西,由于项目需要也只好忍着了.在实现的时候发现了一个问题,打开一个模式窗口后如果里面有asp.net控件并绑定有后台事件的话 ...

  2. SSD果然劲爆!

    前两周入手了一块浦科特128G盘,不说多了,有图为证 以前把机械盘放在主硬盘位的时候,鲁大师显示是SATA II接口,现在把SSD放在主硬盘位,显示居然是SATA III接口了,看上面测试,确实是II ...

  3. mybatis父子表批量插入

    <!--父子表批量插入 --> <insert id="insertBatch" parameterType="com.niwopay.dto.beni ...

  4. 安卓和ios的lineheight的不一样如何解决?

    lineheight在pc端上显示很正常,但是在手机就很不同,在iphone6上,设置了lineheight,但是文本上面多了几像素,如果你设置lineheight在35px一下的按钮(用span做的 ...

  5. Linux下查看系统版本号信息的方法(转)

    一.查看Linux内核版本命令: 1.cat /proc/version [root@localhost ~]# cat /proc/versionLinux version 2.6.18-194.8 ...

  6. 表单验证插件----jquery validation

    1.下载地址:http://jqueryvalidation.org/ 2.使用方法: <script type="text/javascript" src="ht ...

  7. Java中Native关键字的作用

    初次遇见 native是在 java.lang.Object 源码中的一个hashCode方法: 1 public native int hashCode(); 为什么有个native呢?这是我所要学 ...

  8. lua weak table 概念解析

    lua weak table 经常看到lua表中有 weak table的用法, 例如: weak_table = setmetatable({}, {__mode="v"}) 官 ...

  9. RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布

    RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布 全新体验.全新感觉.2015钜献! 继上个版本“RDIFramework.NET V2.8版本发布”5 ...

  10. js web实现移动端触控

    // 触摸事件 $(".m_l_i_l a").on("touchstart", function(){ $(this).css("color&quo ...