Heim  >  Artikel  >  Backend-Entwicklung  >  Das Zeitmodul und das Datum/Uhrzeit-Modul in Python

Das Zeitmodul und das Datum/Uhrzeit-Modul in Python

高洛峰
高洛峰Original
2017-03-01 13:35:081213Durchsuche

Zeitmodul

Das Zeitmodul ist eine Funktion, die verschiedene Zeitoperationen enthält. Obwohl diese häufig gültig sind, sind nicht alle Methoden auf allen Plattformen gültig struct_time Stellt die Zeit dar

import time

# time.struct_time(tm_year=2015, tm_mon=4, tm_mday=24, 
          tm_hour=14, tm_min=17, tm_sec=26, 
          tm_wday=4, tm_yday=114, tm_isdst=0)
# 2015
print time.localtime()
print time.localtime().tm_year

Funktion

  • time.time(): gibt zurück ein Zeitstempel

  • time.asctime([t]): Konvertieren Sie das von gmtime() und localtime() zurückgegebene Tupel oder struct_time in einen String.

  • time.clock(): Beim ersten Aufruf wird die Zeit zurückgegeben, zu der das Programm ausgeführt wird. Beim zweiten Mal wird das Intervall von zuvor zurückgegeben.

  • time.ctime ([Sek.]): Konvertieren Sie den Zeitstempel in eine Zeitzeichenfolge. Wenn nicht angegeben, wird die aktuelle Zeitzeichenfolge zurückgegeben, die mit asctime(localtime()) identisch ist.

  • Zeit .gmtime([Sek.]): Konvertiert den Zeitstempel in struct_time in der UTC-Zeitzone.

  • time.localtime([Sek.]): Ähnlich wie gmtime(), konvertiert ihn jedoch in die Ortszeit Zone.

  • time.mktime(t): Konvertieren Sie struct_time in einen Zeitstempel.

  • time.sleep(secs): Der Thread verzögert die angegebene Zeit Zeit, in Sekunden ist die Einheit.

  • time.strftime(format[,t]): Wandelt eine sturc_time oder ein Tupel entsprechend den Parametern in einen String um.

  • time.strptime(string[, format]): Gibt im Gegensatz zu strftime eine struct_time zurück.

import time

# Fri Apr 24 06:39:34 2015
print time.asctime(time.gmtime())

# 0.0
# None
# 1.01136392961 因计算机而异
print time.clock()
print time.sleep(1)
print time.clock()

# Fri Apr 24 14:42:07 2015
print time.ctime()

# 2015-04-24
print time.strftime('%Y-%m-%d', time.localtime())
# 1429857836.0
print time.mktime(time.localtime())

Zeit Häufig verwendete Formatzeichenfolgen in Modulen

  • %y zweistelliges Jahr 00 ~ 99.

  • % Y vierstelliges Jahr Anzahl der Jahre 0000 ~ 9999

  • %m Monat 01 ~ 12.

  • %d Tag 01 ~ 31.

  • %H Stunden 00 ~ 23.

  • %I Stunden 01 ~ 12.

  • % M Minuten 00 ~ 59 .

  • %S Sekunden 00 ~ 61.

Datum/Uhrzeit-Modul
datetime Das Modul bietet einfache oder komplexe Operationen für Datums- und Uhrzeitangaben. Das datetime-Modul bietet die folgenden verfügbaren Typen (verfügbare Typen):

datetime.MINYEAR und datetime.MAXYEAR datetime

  • Klasse datetime.date: ein idealisiertes Datum, das Jahres-, Monats- und Tagesattribute bereitstellt

  • Klasse datetime.time: eine idealisierte Zeit, Bereitstellung von Stunde, Minute, Sekunde, Mikrosekunde, tzinfo.

  • Klasse datetime.datetime: Eine Kombination aus Datum und Uhrzeit. Liefert Jahr, Monat, Tag, Stunde, Minute, Sekunde, Mikrosekunde. tzinfo.

  • Klasse datetime.timedelta: Drücken Sie den subtilen Unterschied zwischen zwei Datumsangaben, Uhrzeit und Datum/Uhrzeit-Dauer aus.

  • Klasse datetime.tzinfo: Zeit Abstrakte Basisklasse des Objekts.

from datetime import timedelta, datetime

a = datetime.now()
b = timedelta(days=7)

# 7 days, 0:00:00
# 2015-04-14 16:02:39.189000
print b
print a - b

Lassen Sie uns ausführlich über die Klasse und Klassenmethoden sprechen

Datumsklasse

Ein Datumsobjekt stellt ein ideales Datum dar.

  class datetime.date(year, month, day)
    # All arguments are required. Arguments may be ints or longs.
    # 所有参数都是必须的. 参数可能是 int 或 long.
    MINYEAR <= year <= MAXYEAR
    1<= month <= 12
    1<= day <= number of days in the given month and year.(随着月份和年份)

Wenn der Parameter außerhalb des angegebenen Bereichs liegt , es wird ausgelöst, valueError.

1. Klassenmethode>`date.today()`: Gibt das aktuelle lokale Datum zurück, das äquivalent zu `date.fromtimestamp(time.time())` ist.
Gibt das aktuelle lokale Datum zurück. Dies entspricht „date.fromtimestamp(time.time())“.

  from datetime import date

  # print 2015-04-21
  print date.today()

2 .date.fromtimestamp(timestamp): Gibt das lokale Datum basierend auf dem angegebenen Zeitstempel zurück.

import time
from datetime import date

# 1429587111.21
# 2015-04-21
print time.time()
print date.fromtimestamp(time.time())

3 Methode date.fromordinal(ordinal): Gibt das Datum gemäß dem bereitgestellten gregorianischen Kalender zurück (Keine Beschreibung)

Klassenattribut

  • date.min: Gibt das Datum(MINYEAR, 1, 1).

  • date.max: Gibt das Datum zurück (MAXYEAR, 12, 31).

  • date.year: Gibt das Jahr zurück, Zwischen MINYEAR und MAXYEAR

  • date.month: Gibt den Monat zwischen 1 und 12 Monaten zurück

  • date.day: Gibt 1 bis n Between zurück .

d = date(2014, 4, 21)
# 2014 4 21
print d.year, d.month, d.day

Instanzmethode

  • date.replace(Jahr, Monat, Tag): Gibt ein Datenobjekt mit demselben Wert zurück, außer dass diese Parameter neue Werte für die Schlüsselwörter angeben.

  • date.timetuple(): Gibt ein time.struct_time-Objekt zurück.

  • date.toordinal(): Gibt ein Gregorianisches Kalenderobjekt zurück.

  • date.weekday(): Gibt den Wochentag Montag zurück ist 0, Sonntag ist 6.

  • date.isoweekday(): Gibt den Tag der Woche zurück. Montag ist 1, Sonntag ist 7.

  • date.isocalendar(): Gibt ein Triplett zurück (ISO-Jahr, ISO-Wochennummer, ISO-Wochentag).

  • date.isoformat(): Gibt einen 'YYYY-MM- String zurück Format von DD'.

  • date.ctime(): gibt ein String-Datum zurück, d.ctime() entspricht time.ctime(time.mktime(d.timetuple( )) ).

  • date.strftime(format): Gibt ein String-Datum mit benutzerdefiniertem Format zurück.

d = date(2015, 4, 21)

# 2015-04-21
# 2015-04-21
# 2015-04-22
print d
print d.replace()
print d.replace(day=22)

# time.struct_time(tm_year=2015, tm_mon=4, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=111, tm_isdst=-1)
print d.timetuple()

# print 1
# print 2
print d.weekday()
print d.isoweekday()

# print 2015-04-21
print d.isoformat()

# print 21/04/2015
print d.strftime(&#39;%d/%m/%y&#39;)

Datetime-Klasse

Das Datetime-Objekt ist ein einzelnes Objekt, das Informationen über alle Datums- und Zeitobjekte enthält.

class datetime.datetime(year, month, day[, hour
                    [, minute
                    [, second
                    [, microsecond
                    [, tzinfo]]]]])
  # The year, month and day arguments are required.
  MINYEAR <= year <= MAXYEAR
  1 <= month <= 12
  1 <= day <= n
  0 <= hour < 24
  0 <= minute < 60
  0 <= second < 60
  0 <= microsecond < 10**6

Klassenmethode

  • datetime.today(): Gibt die aktuelle lokale Datumszeit zurück. Mit tzinfo Keine. Dies entspricht datetime.fromtimestamp(time .time(. )).

  • datetime.now([tz]): 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像today().

  • datetime.utcnow(): 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似.

  • datetime.fromtimestamp(timestamp[, tz]): 根据时间戳返回本地的日期和时间.tz指定时区.

  • datetime.utcfromtimestamp(timestamp): 根据时间戳返回 UTC datetime.

  • datetime.fromordinal(ordinal): 根据Gregorian ordinal 返回datetime.

  • datetime.combine(date, time): 根据date和time返回一个新的datetime.

  • datetime.strptime(date_string, format): 根据date_string和format返回一个datetime.

from datetime import datetime

# 2015-04-21 14:07:39.262000
print datetime.today()

# 2015-04-21 14:08:20.362000
print datetime.now()

# 1429596607.06
# 2015-04-21 14:10:07.061000
t = time.time() 
print t
print datetime.fromtimestamp(t)

from datetime import datetime, date, time

a = date(2015, 4, 21)
b = time(14, 13, 34)

# 2015-04-21 14:13:34
print datetime.combine(a, b)

实例方法

  • datetime.date(): 返回相同年月日的date对象.

  • datetime.time(): 返回相同时分秒微秒的time对象.

  • datetime.replace(kw): kw in [year, month, day, hour, minute, second, microsecond, tzinfo], 与date类似.

其他方法可查看官方文档…

from datetime import datetime, date, time

td = date(2015, 4, 21)
n = time(14, 28, 30)

# 2099-04-21 14:30:42.103000
print datetime.now(0.replace(year=2099)

类属性

  • datetime.min: datetime(MINYEAR, 1, 1).

  • datetime.max: datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999).

实例属性(read-only)

  • datetime.year: 1 至 9999

  • datetime.month: 1 至 12

  • datetime.day: 1 至 n

  • datetime.hour: In range(24). 0 至 23

  • datetime.minute: In range(60).

  • datetime.second: In range(60).

  • datetime.microsecond: In range(1000000).

time类

time 代表本地(一天内)时间.

class datetime.time([hour
          [, minute
          [, second 
          [, microsecond
          [, tzinfo]]]]])
  # All arguments are optional.
  # 所有参数都是可选的.
  0 <= hour < 24
  0 <= minute < 60
  0 <= second < 60
  0 <= microsesond < 10**6

time类就是对时间的一些操作,其功能类似与datetime.其实date和time就是对datetime中日期和时间的操作.

更多Python中的time模块与datetime模块相关文章请关注PHP中文网!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn