Python のデータ型 time の概要 (コード付き)

不言
リリース: 2019-03-01 11:24:59
転載
3277 人が閲覧しました

この記事では、Python の時間データ型の概要 (コード付き) を紹介します。これには一定の参考値があります。必要な友人は参照できます。お役に立てれば幸いです。

1. 時間データ型とは何ですか?

Python で時間型を表すデータ構造は、時間データ型です。

2.time モジュール

import time
# 获取当前时间的时间戳
print(time.time())   #输出:1548742426.1698806

# 返回当前时间的元组
t = time.localtime()
print(t)
#输出:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=29, tm_hour=14, tm_min=14, tm_sec=17, tm_wday=1, tm_yday=29, tm_isdst=0)


# 将当前时间元组转变为字符串
print(time.asctime(time.localtime()))  #输出:Tue Jan 29 14:15:51 2019

# # 格式化字符串
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))    #输出:2019-01-29 14:16:08
# # 将字符串转为时间元组

print(time.strptime('2018-11-27 08:08:08', '%Y-%m-%d %H:%M:%S'))  
#输出:time.struct_time(tm_year=2018, tm_mon=11, tm_mday=27, tm_hour=8, tm_min=8, tm_sec=8, tm_wday=1, tm_yday=331, tm_isdst=-1)

# sleep方法, 会占用cpu时间片
print(time.sleep(5))   #5秒后输出:None

# 打印日历
import calendar
print(calendar.month(2019, 1))   #输出:2019年1月的日历
ログイン後にコピー

Timestamp: 0 タイム ゾーンの 1970 年 1 月 1 日の 0:00:00 から指定された日付までの秒数です。時刻 (浮動小数点型、次の 3 桁はマイクロ秒、通常はミリ秒で十分です。)

localtime メソッド: 現在時刻のタプル (年、月、日、時間を含む) を返します。 、分、秒など);

asctime メソッド: 現在の時刻タプルを文字列に変換します (ヨーロッパおよびアメリカ諸国の時刻形式);

strftime メソッド : 文字列のフォーマット;

strptime メソッド : strftime メソッドとは逆に、文字列を時間タプルに変換するために使用されます。 ##sleep メソッド

: CPU タイム スライスを占有します (つまり、スレッド全体をしばらく一時停止させます);

Print Calendar

: カレンダー モジュールをインポートしてから、 month メソッドを呼び出します;

3.datetime モジュール

Python の datetime モジュールは、日付と時刻を操作する機能を提供します。このモジュールが提供する 5 つのコア オブジェクトは次のとおりです。 : datetime (時刻日付型)、date (日付型)、time (時刻型) )、tzinfo (タイムゾーン型)、timedelta (時差型);

(1) datetime 型
from datetime import datetime
# 1: 构建一个指定日期和时间的datetime对象
today = datetime(year=2019,month=1,day=29,hour=14,minute=22,second=54)
print(today)  #输出:2019-01-29 14:22:54

#获取当前日期时间,输出类型为datetime
now = datetime.now()
print(now,type(now))  #输出:2019-01-29 14:23:35.408583 <class &#39;datetime.datetime&#39;>

d_now = datetime.now()
# datetime类型转字符串
d_str = d_now.strftime('%Y-%m-%d %H:%M:%S')
print(d_str,type(d_str))   #输出:2019-01-29 14:26:12 <class &#39;str&#39;>
# 字符串转datetime类型
d_type = datetime.strptime(d_str,'%Y-%m-%d %H:%M:%S')
print(d_type,type(d_type))  #输出:2019-01-29 14:26:12 <class &#39;datetime.datetime&#39;>

# 计算时间戳
timestamp = d_type.timestamp()
print(timestamp)  #输出:1548743501.0

# 计算时间戳
timestamp = d_type.timestamp()
print(timestamp)      #输出:1548743935.0

# 通过时间戳获取datetime对象   
d_type = datetime.fromtimestamp(1543408827)
print(d_type, type(d_type))  #输出:2018-11-28 20:40:27 <class &#39;datetime.datetime&#39;>
ログイン後にコピー

datetime 型を文字列 strftime メソッドに変換するために使用され、文字列を datetime 型に変換するには strptime メソッドを使用します。

timestamp メソッド:タイムスタンプの計算;
  • fromtimestamp メソッド: タイムスタンプによる取得 datetime オブジェクト;
  • (2) 日付型
  • from datetime import date
    data_today = date(year=2018, month=11, day=29)
    print(data_today)  #输出:2018-11-29
    ログイン後にコピー
日付モジュールをインポートして日付をインスタンス化します;

#(3) 時間タイプ
  • from datetime import time
    now_time = time(hour=8, minute=30, second=10)
    print(now_time, type(now_time))  #输出:20:30:10 <class &#39;datetime.time&#39;>
    ログイン後にコピー

  • 時間タイプのインポートと時間のインスタンス化;

(4) timedelta タイプ
  • from datetime import datetime, timedelta
    # 时间间隔可以通过相减得到
    now = datetime.now()
    before_datatime = datetime(year=2018, month=11, day=20, hour=8, minute=20, second=20)
    delta = now - before_datatime
    print(delta, type(delta))   #输出:70 days, 6:22:37.340041 <class &#39;datetime.timedelta&#39;>
    
    # 可以初始化时间间隔
    delta_days = timedelta(days=7)
    print(delta_days, type(delta_days))  #输出:7 days, 0:00:00 <class &#39;datetime.timedelta&#39;>
    
    # 可以通过时间间隔得到将来的时间 
    future_datetime = now + delta_days
    print(future_datetime)    #输出:2019-02-05 14:43:54.582315
    ログイン後にコピー

  • timedeltaオブジェクトは期間を表します。timedelta オブジェクトは手動のインスタンス化または減算によって取得できます;

(5)tzinfo type
  • from datetime import datetime
    import pytz
    utc_tz = pytz.timezone('UTC')
    print(pytz.country_timezones('cn'))  # 显示中国时区的城市   #输出:['Asia/Shanghai', 'Asia/Urumqi']
    print(pytz.country_timezones('us'))  # 显示美国时区的城市
    # #输出:['America/New_York', 'America/Detroit', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Indiana/Indianapolis', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Vevay', 'America/Chicago', 'America/Indiana/Tell_City', 'America/Indiana/Knox', 'America/Menominee', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/North_Dakota/Beulah', 'America/Denver', 'America/Boise', 'America/Phoenix', 'America/Los_Angeles', 'America/Anchorage', 'America/Juneau', 'America/Sitka', 'America/Metlakatla', 'America/Yakutat', 'America/Nome', 'America/Adak', 'Pacific/Honolulu']
    
    # # 获取时区
    china_tz = pytz.timezone('Asia/Shanghai')
    america_tz = pytz.timezone('America/New_York')
    # # 获取城市本地时间
    china_local_time = datetime.now(china_tz) # 东八区
    america_local_time = datetime.now(america_tz) # 西五区
    print(china_local_time)   #输出:2019-01-29 14:51:51.252579+08:00
    print(america_local_time)  #输出:2019-01-29 14:51:51.252579+08:00
    ログイン後にコピー

  • pytz パッケージをインストールします: プロジェクトを入力し、pip install pytz コマンドを実行します。

##タイム ゾーンを取得します: pytz.timezone (リージョン名);

  • 都市の現地時間を取得: datetime.now (タイムゾーン名);

以上がPython のデータ型 time の概要 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!