Pythonでファイルの作成日時と更新日時を取得する方法
ファイルの作成日時を取得するには、Windows環境では os.path.getctime(file_path) を使用します。ただし、UNIX系システムでは同じ関数を使っても期待した結果が得られません。UNIXでは、この関数はファイルの属性や内容が最後に変更された時刻を返すためです。UNIXベースのシステムで作成日時を取得するには、os.stat() が返すstatオブジェクトの st_birthtime 属性を使用します。
例:Windowsの場合
>>> import os
>>> print os.path.getctime('my_file')
1505928271.0689342
戻り値は、エポック(1970年1月1日00:00:00 UTC)からの経過秒数です。
例:UNIX系システムの場合
import os
stat = os.stat(path_to_file)
try:
print(stat.st_birthtime)
except AttributeError:
# おそらくLinux環境。作成日時を簡単に取得する方法がないため、
# 内容が最後に変更された時刻で代用します。
print(stat.st_mtime)
出力
このコードを実行すると、以下のような出力が得られます。
1505928271.0689342
なお、Linuxではファイルシステムによっては作成日時自体が記録されていない場合がある点に注意してください。st_birthtime 属性が存在しない場合は、上記のように st_mtime へフォールバックするのが一般的な実装です。
ファイルの更新日時を取得する
ファイルの更新日時(最終変更日時)を取得するには、os.path.getmtime(path) を使用します。この関数はクロスプラットフォームでサポートされており、WindowsでもUNIX系でも同じように動作します。
>>> import os
>>> print os.path.getmtime('my_file')
1505928275.3081832
タイムスタンプを読みやすい形式に変換する
取得した秒数はそのままでは扱いにくいため、datetime モジュールを使って人間が読める形式に変換すると便利です。
import os
from datetime import datetime
timestamp = os.path.getmtime('my_file')
print(datetime.fromtimestamp(timestamp))
# 例: 2017-09-20 15:24:35.308183
これにより、作成日時・更新日時のどちらも、プログラム内での比較処理からログ出力まで、さまざまな用途に活用できます。
-
AndroidでLocalDateTime APIクラスを使って現地の日付と時刻を取得する方法
このチュートリアルでは、AndroidアプリでLocalDateTime APIクラスを使用して、現地(ローカル)の日付と時刻を取得・表示する方法を解説します。java.timeパッケージに含まれるLocalDateTimeは、Android 8.0(APIレベル26)以降で利用できるモダンな日時APIで、従来のDateやCalendarクラスよりも直感的に扱えるのが特徴です。手順1:新規プロジェクトを作成するAndroid Studioで新しいプロジェクトを作成します。メニューからFile → New Projectを選択し、必要な項目をすべて入力してプロジェクトを作成してください。手順2:
-
Pythonで都市の緯度・経度を取得する方法|geopyライブラリの使い方を解説
都市の緯度と経度を取得したい場合、Pythonではgeopyモジュールが便利です。geopyは、サードパーティ製のジオコーダやさまざまなデータソースを利用して、住所・都市・国などの座標情報を特定できるライブラリです。 まず、geopyモジュールがインストールされていることを確認しましょう。未インストールの場合は、以下のコマンドでインストールできます。 pip install geopy 以下の例では、Nominatimというジオコーダを使用して、都市「ハイデラバード(Hyderabad)」の緯度と経度を取得します。 手順 geopyモジュールからNominatimジオコーダをインポートします