time.struct_time(tm_year=2016, tm_mon=11, tm_mday=13, tm_hour=8, tm_min=53, tm_sec=53, tm_wday=6, tm_yday=318, tm_isdst=-1)
时间日期格式化符号:
%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 当前时区的名称
%% %号本身
转换方法:
str -> time.struct_time: time.strptime(str, format)
str -> datetime.datetime: datetime.datetime.strptime(str, format)
import time, datetime
example = '2016-11-13 8-53-53'
time_emp = time.strptime(example, '%Y-%m-%d %H-%M-%S')
datetime_emp = datetime.datetime.strptime(example, '%Y-%m-%d %H-%M-%S')
print time_emp
print datetime_emp, type(datetime_emp)
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=13, tm_hour=8, tm_min=53, tm_sec=53, tm_wday=6, tm_yday=318, tm_isdst=-1)
2016-11-13 08:53:53 <type 'datetime.datetime'>
数据使用方法
print time_emp.tm_hour
print datetime_emp.day, datetime_emp.minute
13 53
time.struct_time -> str: time.strftime(format, time.struct_time)
datetime.datetime -> str: datetime.datetime.strftime(format, datetime.datetime)
time1 = time.strftime('%Y-%m-%d %H-%M-%S', time_emp)
time2 = datetime_emp.strftime('%Y-%m-%d %H-%M-%S')
print time1
print time2
>>>2016-11-13 08-53-53
>>>2016-11-13 08-53-53
其他:
float –> struct tuple: time.localtime( float )
struct time tuple –> float : time.mktime(struct time tuple)
struct time tuple –> datetime: datetime.datetime(*time_tuple[0:6])
float –> datetime: datetime.datetime.fromtimestamp( float )
datetime –> struct time tuple: datetime.datetime.timetuple()
开发
中
遇到了一个需求:程序运行到某处时需要用户确认, 但不能一直傻等, 后面的程序不能被一直阻塞, 需要有个超时限制, 也就是这个程序如果在一段
时间
后还没有得到用户输入就执行默认操作.
解决思路 – 多线程法
我就想到了用多线程的方式, 开启一个子线程用stdin(比如
python
的input函数)获取用户输入, 主线程里设置线程启动和超时.
Python
中
使用多线程很方便, threading.Threaded(函数, 参数表)然后thread.start就好了. 只是有一点需要注意, 上面参数表必须是个元组, 也就是每个元素后面必须跟个逗号.
import th
@
python
学习记录
这一关主要讲导入模块问题,一开始的时候我是用pycharm2018社区版和
python
3.6,导入模块总是失败,也查了网上的解决办法,点file-settings之后添加不行,创建虚拟环境再添加也不行,实在没有办法两个都卸了从头开始安装
python
3.8,pycharm2020社区版,
中
间省略配置问题,可喜的是最后弄好了,可以正常添加模块。
类是封装属性和方法,模块则是
变量
、函数、类都可以封装,调用模块的时候可以直接导入
##模块文件(story.py)
sentence = '从前有坐山,'
def mountain():
print('山里有座庙,
接触
Python
时间
不长,对有些知识点,掌握的不是很扎实,我个人比较崇尚不管学习什么东西,首先一定回去把基础打的非常扎实了,再往高处走。今天遇到了
Python
中
的全局
变量
的相关操作,遇到了问题,所以,在这里将自己遇到的问题,做个记录,以长记心!!!
在
Python
中
使用全局
变量
,其实,个人认为并不是很明智的选择;但是自己还是坚信,存在便合理,在于你怎么使用;全局
变量
降低了模块和函数之间的通用性;所以,在以后的编程过程
中
,应尽量避免使用全局
变量
。
全局
变量
的使用:
为了便于代码管理,将全局
变量
统一放到一个模块
中
,然后在使用全局
变量
的时候,导入全局
变量
模块,通过这种方法来进行使用全局
变量
每个
时间
戳都是自从1970年1月1日午夜经历了多长
时间
来表示。
Python
的time模块下有很多函数可以转换常见的日期格式。如函数time.time()用于获取当前
时间
戳...
时间
戳是指格林威治
时间
1970年01月01日00时00分00秒(北京
时间
1970年01月01日08时00分00秒)起至现在的总秒数(或总毫秒数)。网上有很多
时间
戳在线转换工具,可以自行计算验证。
变量
类型严格意义上讲,
python
只有一种类型标准数据类型一共六种一 数字类型Number1)整数 (没有小数部分,自然数,0,负自然数)整数分进制二进制(计算机常用 是计算机理解的数字 表示0b开头的0,1代码 比如 0b1101)八进制(不常用 以0o开头的包含0-7的数字 逢8进1)十六进制(常用 逢16进1 其实是每四位二进制表示一位十六进制 包含0-9,a-f 数字上以0x开头)2)浮点...
对象所有的数据类型都是对象字符串数字:整数、数字列表、字典函数、类、模块、方法print(type(20)) # 查看对象的数据类型
python
整型: int 浮点型 :float 精度17位java的整型:byte short int longjava的浮点型:float double加法print(1+7)减法print(10-2)乘法print(2*4)除法
python
2 pri...
netcdf g2_BIOPAR_VCI_201701010000_AFRI_PROBAV_V1.0.h5_trans{dimensions:lon=10081;lat=8961;variables:char crs;crs:grid_mapping_name="latitude_longitude";crs:long_name="CRS definition";crs:longitude_of_...
Python
中
的datetime模块用timedelta()实现日期
时间
相加。
Python
中
的datetime是
处理
日期和
时间
的标准库。
Python
中
的datetime模块用。
我修改了一些在stackoverflow上发现的here代码,但是我得到了一些奇怪的行为。有人能看出我的错误吗?在import atexitfrom time import clockline = "="*10 + ">>>"def secondsToStr(s):return "{0}.{1}ms".format(round(s*1000), round(s*1000000))...