zoukankan      html  css  js  c++  java
  • 20171109_Python学习四周四次课

    今日任务:

    10.1 import
    10.2 datetime获取时间
    10.3 时间格式相互转换

    笔记:

    1. import导入

    有时候一个文件或者一个包中已经出现了一个函数,我们在另一个python代码中需要引入该文件或者该文件的某个函数,那怎么解决呢?python给我们提供一个关键字import,下面我们来了解一下它的用法:

    1,如果是本地导入文件,直接使用:import filename

    2,如果导入的是一个包,该包下面必须是有__init__.py文件才可以导入,否则报错,只有有了__init__.py文件,python解析器才会把这个目录当成是的包

    常用的导入模块常用的格式:

    form xxx import xxx

    import xxx

    在导入的时候,.py的后缀直接省略,如果是多级的包,或者想导入包里面的函数等,可以使用from进行导入,举个例子:

    from aaa import bbb

    import os

    解释:第一个例子是导入aaa包下面的bbb模块或者导入aaa文件下面的bbb类或者函数

    第二个import是直接导入系统模块os模块

    2.datetime的使用

    The distinction between naive and aware doesn’t apply to timedelta objects.

     Subclass relationships:

     object

        timedelta

        tzinfo

        time

        date

            datetime

    time

    在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Timestamp 进行的。

      

    import time

    time1 = time.time()

    time.sleep(5)

    python 开发过程中,我们经常会用到获取当前时间,根据当前时间生成一个和当天时间相关的文件,这样我们在后期看查找文件的时候就方便了很多,那python又如何来获取当前时间呢?

    from datetime import datetime

    now_time = datetime.now()

    a = now_time.strftime('%Y-%m-%d')

    print(now_time)

    print(a)

    print(type(now_time))

    结果:

    2017-04-25 14:23:37.339000

    2017-04-25

    <type 'datetime.datetime'>

    解释:

    1,先导入datetime类

    2,通过datetime的now方法就获得当前所需要的时间

    3,datetime还是有好多方法的,可以获取year, month,等,请通过dir()方法查看

    4,此时我们获得的now_time还是一个datetime类,所以我们需用用strftime方法转换成字符串,strftime的参数就是最终需要字符串的形式。

    5,Strftime需要便是时间的参数有很多,下面我们介绍一下最长用的一些参数:

    格式参数:

    %Y 带世纪部分的十制年份

    %m 十进制表示的月份

    %d 十进制表示的每月的第几天

    %H 24小时制的小时

    %M 十时制表示的分钟数

    %S 十进制的秒数

    %c  标准时间,如:04/25/17 14:35:14  类似于这种形式

    这几个参数就是最常用到的我们用的时间

      

    此时还有一个问题,就是在我们开发过程中,经常要取昨天的时间,或者明天的时间,那有应该怎么办呢?

    例子:

    from datetime import datetime, timedelta

    now_time = datetime.now()

    a = now_time.strftime('%c')

    print(now_time)

    print(a)

    b = now_time + timedelta(days=-1)

    print(b)

    结果:

    2017-04-25 14:37:26.996000

    04/25/17 14:37:26

    2017-04-24 14:37:26.996000

    解释:

    Timedelta可以接收days和seconds两个参数,正数代表几天之前的,负数代表几天之前的。所以b代表的是一天之前的时间。

    自己的实验 :

    3.时间格式相互转换

    时间的三种存在方式:时间对象,时间字符串,时间戳。

    (1)   字符串转datetime:

    from datetime import datetime, timedelta

    string = '2017-04-25 11:59:58'

    time1 = datetime.strptime(string, '%Y-%m-%d %H:%M:%S')

    print(time1)

    print(type(time1))

    结果:

    2017-04-25 11:59:58

    <type 'datetime.datetime'>

     自己的实验:

    (2)   datetime转字符串:

    from datetime import datetime, timedelta

    string = '2017-04-25 11:59:58'

    time1 = datetime.strptime(string, '%Y-%m-%d %H:%M:%S')

    print(time1)

    print(type(time1))

    time1_str = datetime.strftime(time1, '%Y-%m-%d %H:%M:%S')

    print(type(time1_str))

    print(time1_str)

    结果:

    2017-04-25 11:59:58

    <type 'datetime.datetime'>

    <type 'str'>

    2017-04-25 11:59:58

    解释:

    自己的实验:

    (3)时间戳转时间对象:

    from datetime import datetime, timedelta

    import time

    time1 = time.time()

    print(time1)

    time1_str = datetime.fromtimestamp(time1)

    print(time1_str)

    print(type(time1_str))

    结果:

    1493107955.66

    2017-04-25 16:12:35.660000

    <type 'datetime.datetime'>

    解释:

    1, datetime模块是包装了time模块的,所以只需要了解datetime模块就可以。

    2, time.time()是或者当前时间的时间戳,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

    3, datetime下面下面有个函数fromtimestamp(时间戳)会把时间戳自动转换成datetime类型

    自己的实验:

  • 相关阅读:
    SQLite在iOS开发中的使用
    实现序列化和反序列化
    NSPredicate用于对集合类中的元素进行筛选
    通知中心NSNotification与委托的异同,需要注意的要点
    OC 重写description,isEqual方法
    iOs 单例模式的定义,实现、步骤
    Obejctiv-c 里面KVC 和 KVO的实现步骤,和有关方法
    关于NSTimer的几种构建方式
    NSTimer 实现到一个指定时间(年、月、日)的倒计时
    关于UILable、UIButton、UITextField简单运用
  • 原文地址:https://www.cnblogs.com/zhuntidaoren/p/7810653.html
Copyright © 2011-2022 走看看