【Time系列一】datetime的妙用

        今天在弄个自动关机小脚本的时候,遇到了时间转换的问题,也难怪,以前没学过,

不能怪我不会哦!

        首先,先学会打印出当前时间的几种方式

        参考开源社区:   http://my.oschina.net/u/1032854/blog/198179#OSC_h1_3

        菜鸟编程:   http://www.runoob.com/python/python-date-time.html

 

1. time.ctime()函数—输出固定的日期格式

1 from time import ctime
2 
3 # 该函数只能以 " 星期 月 日 时:分:秒 年 " 的格式显示日期
4 print ctime()

2. time.localtime()函数—同time.ctime()都是按固定顺序输出日期

1 from time import localtime
2 
3 # 也是以固定顺序输出—"年 月 日 时:分:秒"  
4 print "%d/%d/%d %d:%d:%d" % localtime()[0:6]

3. datetime.datetime—输出固定的日期格式

【不过是精确到微秒10的-6方秒】

1 from datetime import datetime
2  
3 # 以年-月-日 时:分:秒的格式显示
4 # print datetime.now()
5  print datetime.today()

4. time.strftime()函数—同上

1 from time import strftime
2 
3 # 格式化成 2016-08-31 10:53:42的形式
4 print strftime("%Y-%m-%d %H:%M:%S")

当然,你也可以这样格式化日期

from time import strftime# 格式化成 Wed Aug 10:58:25 2016 形式
print strftime("%a %b %H:%M:%S %Y")
另一种格式

在这里,我们要用到 "年/月/日 时:分:秒" 的格式, 所以就选择后者time.strftime()!

 

-|---->-----------------------------------------------------------------------------------------------------<<<---

在开始前,有必要给大家介绍下python中时间日期格式化符号:

  • %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)

1. 字符串(string)转化为datetime.datetime

这里我们用到datetime.datetime.strptime()

1 # 字符串转化为datetime.datetime
2 import datetime
3  
4 str = "2016/8/31"
5  
6 # Y:(Year)年, m:(month)月, d:(day)日
7 dt = datetime.datetime.strptime(str, "%Y/%m%d")
8 pritn dt
str 2 datetime

2. datetime.datetime转化为时间戳

大部分语言里的时间戳是从格林尼治的1970年1月1日子夜(0点)到现在的总毫秒数,不过在python里则

是总秒数,由于我们是东八区,所以对我们来说是从8点开始算起的,要查看起始时间,可以用上面说

到的time.ctime(0)函数! ! !

1 # datetime.datetime 转化为时间戳
2 
3 # str转化为datetime.datetime
4 str = "2016/8/31"
5 dt = datetime.datetime.strptime(str, "%Y/%m/%d")
6 
7 # datetime.datetime转化为时间戳
8 time.mktime(dt.timetuple())
datetime 2 timestamp

3. 时间戳转化为字符串

 1 # 时间戳转化为字符串
 2 
 3 import time
 4 import datetime
 5 
 6 # str转为datetime.datetime
 7 str = "2016/8/31"
 8 dt = datetime.datetime.strptime(str, "%Y/%m/%d")
 9 
10 # str 转为时间戳
11 time_stamp = time.mktime(dt.timetuple())
12 
13 # 时间戳转为字符串
14 str = time.strftime("%Y/%m/%d", time.localtime(time_stamp))
15 
16 print str
timestamp 2 str

也许大家看了上面的介绍会觉得好像也就这样,弄不出点什么好玩的东东,那你就错了,还记得前面说的自动关机的脚本么 ?

下一篇就带大家实现这个功能!

转载于:https://www.cnblogs.com/Ruby517/p/5827140.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展

循环体内&#xff0c;字符串的连接方式&#xff0c;使用StringBuilder的append方法进行扩展

JS树结构操作:查找、遍历、筛选、树结构和列表结构相互转换

经常有同学问树结构的相关操作&#xff0c;也写了很多次&#xff0c;在这里总结一下 JS 树形结构一些操作的实现思路&#xff0c;并给出了简洁易懂的代码实现。本文内容结构大概如下&#xff1a;JS树结构相关操作1遍历树结构1. 树结构介绍JS中树结构一般是类似于这样的结构&…

python框架django的使用_Django框架的基本使用,若依框架

Django框架的基本使用&#xff0c;若依框架Django框架的基本使用Django是一个功能强大的web框架框架模式1、MVC和MTV框架MVC&#xff1a;Web服务器开发领域里著名的MVC模式&#xff0c;所谓MVC就是把Web应用分为模型(M)&#xff0c;控制器(C)和视图(V)三层&#xff0c;结构说明…

初学js

今天开始接触js&#xff0c;知道了js的功能以及学习的意义&#xff0c; 今天从命名的规范和数值的规则就能看出js是1门非常严谨的课程&#xff0c;只有做好细节才能体现出js的强大之处&#xff0c; var是定义一个名字 var name1&#xff1b; 定义了还能赋值&#xff0c;可以是数…

数据库:SQLServer中GUID用法介绍

今天给大家分享一下SQLServer中生成GUID的用法。一、NEWID用法NEWID()作用是生成无顺序的GUID字符串。用法如下&#xff1a;SELECT NEWID() --生成36位的GUIDSELECT REPLACE(newid(), -, ) -- 生成32 位的GUID二、NEWSEQUENTIALID用法1、NEWSEQUENTIALID是什么&#xff1f;在指…

oracle po:默认申请分组,PR自动创建PO采购订单:强制按照PR行进行分组

有时候&#xff0c;需要实现强制按照PR行来自动创建PO。举个例子&#xff1a;假设2张PR&#xff0c;同一个物料&#xff0c;同一个需求日期等等的&#xff0c;在合并采购订单的时候&#xff0c;希望是2个PO行。按照标准功能的处理逻辑&#xff0c;如果是同一个物料需求日期(配置…

cserialport 循环发送信号_C++信号处理

免费C语言教程&#xff1a;阿里云大学——开发者课堂(点击文章最下方“了解更多”)信号是由操作系统传给进程的中断&#xff0c;会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上&#xff0c;可以通过按 CtrlC 产生中断。有些信号不能被程序捕获&#xff0c;但…

Javascript第一天

引入的三种方法&#xff1a; 1、将javascript代码插入html文档<head>部分的<script>标签中 例&#xff1a;<head> <script type“text/javascript”> //javascript 代码 alert(‘hello world’); </script> </head> 2、将javascript代码存…

不要在foreach循环里进行元素的remove/add操作。remove元素请使用iteratot方式,如果并发操作,需要对Iterator对象加锁

不要在foreach循环里进行元素的remove/add操作。remove元素请使用iteratot方式&#xff0c;如果并发操作&#xff0c;需要对Iterator对象加锁

Win7和Win10操作系统优劣对比,看完你就懂了!

一直以来&#xff0c;针对微软的Windows系统讨论最热烈的莫过于win7和win10系统了&#xff0c;两者究竟谁好谁坏&#xff1f;小编今天就带大家从几个不同的角度分析两者的优缺点&#xff0c;如有不对&#xff0c;欢迎大家指正&#xff01;一、win 7系统的几大特点&#xff1a;1…

linux bash命令找不到,Linux下提示命令找不到:bash:command not found

Linux下输入某些命令时会提示&#xff1a;bash:command not found。首先&#xff0c;查看$PATH中是否包含了这些命令。$PATH&#xff1a;决定了shell到哪些目录中去寻找命令或程序&#xff0c;PATH值是一系列的目录。当运行程序时&#xff0c;linux到这些目录下搜索进行编译链接…

dhcp 续约review报文_Linux的私房菜 DHCP

译DHCP服务DHCP的全称是动态主机配置协议&#xff0c;用来自动给客户机分配TCP/IP信息的网络协议。Dynamic Host Configuration Protocol&#xff0c;前身是BOOTP协议&#xff0c;是一个局域网的网络协议&#xff0c;使用UDP协议工作&#xff0c;统一使用两个IANA分配的端口&am…

硬件编程:硬件开发中常用的几种通信接口总结

在嵌入式系统中&#xff0c;板上通信接口是指用于将各种集成电路与其他外围设备交互连接的通信通路或总线。以下内容为常用板上通信接口&#xff1a;包括I2C、SPI、UART、1-Wire&#xff1a;I2C总线I2C总线是一种同步、双向、半双工的两线式串行接口总线。这里&#xff0c;半双…

集合初始化时,指定集合初始值大小

集合初始化时&#xff0c;指定集合初始值大小

hadoop常用linux命令,# Hadoop学习笔记(二)——Linux常用命令

ifconfigLinux ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态&#xff0c;或是显示目前的设置。ifconfig.png语法ifconfig [网络设备][down up -allmulti -arp -promisc][add][del][][io_addr][irq][media][mem_start][metric][mtu][netmask][tunnel][-br…

数据库:计算地球上两个坐标点之间里程

今天给大家分享计算地球上两个坐标点之间里程不同数据库版本的脚本。1、SQLServer脚本–-计算地球上两个坐标点&#xff08;经度&#xff0c;纬度&#xff09;之间距离sql函数 CREATE FUNCTION [dbo].[fnGetDistance](LatBegin REAL , LngBegin REAL, LatEnd REAL, LngEnd REA…

jvm 崩溃日志设置_JVM致命错误日志(hs_err_pid.log)分析(转载)

当jvm出现致命错误时&#xff0c;会生成一个错误文件 hs_err_pid.log&#xff0c;其中包括了导致jvm crash的重要信息&#xff0c;可以通过分析该文件定位到导致crash的根源&#xff0c;从而改善以保证系统稳定。当出现crash时&#xff0c;该文件默认会生成到工作目录下&#x…

使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历

使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历

【Qt开发】Qt Creator在Windows上的调试器安装与配置

Qt Creator在Windows上的调试器安装与配置 如果安装Qt时使用的是Visual Studio的预编译版&#xff0c;那么很有可能就会缺少调试器&#xff08;Debugger&#xff09;&#xff0c;而使用MSVC的Qt对应的原生调试器是CDB&#xff08;对应MinGW的Qt使用GDB调试器&#xff09;。本文…