Mengonversi string stempel waktu unix menjadi tanggal yang dapat dibaca dengan python
Mengubah string stempel waktu unix menjadi tanggal yang dapat dibaca dengan python diperlukan saat menangani tanggal dengan python
Di bawah ini adalah berbagai cara untuk mengonversi stempel waktu unix menjadi tanggal yang dapat dibaca dalam format string python.
Kami menggunakan modul datetime dari python untuk mengonversi cap waktu unix menjadi string tanggal.
from datetime import datetime ts = int("1584101485") # Complete Date with time print(datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'))
2020-03-13 12:11:25 _
# Date only print(datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d'))
2020-03-13
# Date in MM-DD-YYYY format print(datetime.utcfromtimestamp(ts).strftime('%m-%d-%Y')) _
03-13-2020
# Create a timestamp converter function def datefromtimestamp(timestamp): date = datetime.utcfromtimestamp(timestamp).strftime('%m-%d-%Y') return date _
print(datefromtimestamp(1584101485))
03-13-2020
Stempel Waktu Unix?
Waktu Unix adalah jumlah detik yang telah berlalu sejak Zaman (Tanggal tertentu di masa lalu).
Zaman Unix adalah 00. 00. 00 UTC pada 1 Januari 1970
Detik dihitung dari tanggal ini. Misalnya, dalam kasus di atas kami menganggap nilai cap waktu unix sebagai “1584101485”, dan ketika kami mengonversi ke bentuk string dari tanggal yang dapat dibaca manusia, kami menyadari cap waktu unix ini sesuai dengan 13 Maret 2020.
Kecuali Anda memiliki otak komputer super, stempel waktu unix tidak masuk akal bagi manusia. Itulah mengapa kita perlu mengonversi cap waktu unix ke format yang dapat dimengerti manusia. Kami telah menunjukkan di atas bagaimana hal itu dapat dilakukan dengan sangat mudah dengan beberapa baris kode Python. Sampai lain kali, berhati-hatilah
Misalnya, dataset berikut berisi 3 tanggal berbeda (dengan format yyyymmdd), saat toko dibuka atau ditutup
DatesStatus20210305Opened20210316Opened20210328ClosedLangkah 2. Buat Bingkai Data
Selanjutnya, buat DataFrame untuk menangkap kumpulan data di atas dengan Python
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame(values, columns = ['dates','status']) print (df) print (df.dtypes) _Seperti yang Anda lihat, tipe data adalah bilangan bulat untuk nilai di bawah kolom 'tanggal'
dates status 0 20210305 Opened 1 20210316 Opened 2 20210328 Closed dates int64 status object dtype: objectLangkah 3. Konversi bilangan bulat menjadi datetime di Pandas DataFrame
Sekarang Anda dapat menggunakan template di bawah ini untuk mengubah bilangan bulat menjadi datetime di Pandas DataFrame
df['DataFrame Column'] = pd.to_datetime(df['DataFrame Column'], format=specify your format)Ingatlah bahwa untuk contoh kita, format tanggalnya adalah yyyymmdd
Dalam hal ini, format tanggal dapat direpresentasikan sebagai berikut
format='%Y%m%d'Seperti yang ditunjukkan sebelumnya, data bilangan bulat (yyyymmdd) harus sesuai dengan format yang ditentukan (%Y%m%d). Anda dapat merujuk ke sumber berikut untuk perbedaan yang mungkin Anda terapkan
Sebagai contoh kita, kode lengkap untuk mengonversi bilangan bulat menjadi waktu adalah
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame(values, columns = ['dates','status']) df['dates'] = pd.to_datetime(df['dates'], format='%Y%m%d') print (df) print (df.dtypes)Jalankan kode dengan Python, dan Anda akan melihat bahwa tipe data untuk 'dates' sekarang adalah datetime
dates status 0 2021-03-05 Opened 1 2021-03-16 Opened 2 2021-03-28 Closed dates datetime64[ns] status object dtype: objectMengonversi Format Tambahan
Misalkan tanggal sekarang diformat sebagai yymmdd
TanggalStatus210305Buka210316Buka210328TutupDalam hal ini, tanggal sekarang akan berisi 'y' dalam huruf kecil
format='%y%m%d'Jadi kode lengkap Python akan terlihat seperti berikut
import pandas as pd values = {'dates': [210305,210316,210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame(values, columns = ['dates','status']) df['dates'] = pd.to_datetime(df['dates'], format='%y%m%d') print (df) print (df.dtypes)Seperti sebelumnya, bilangan bulat akan dikonversi menjadi datetime
dates status 0 2021-03-05 Opened 1 2021-03-16 Opened 2 2021-03-28 Closed dates datetime64[ns] status object dtype: objectSekarang misalkan bilangan bulat Anda berisi tanggal dan waktu
DatesStatus20210305093000Opened20210316093000Opened20210328200000ClosedDalam hal ini, format yang harus Anda tentukan adalah
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame(values, columns = ['dates','status']) print (df) print (df.dtypes) _0Jadi kode Python lengkapnya adalah
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame(values, columns = ['dates','status']) print (df) print (df.dtypes) _1Anda sekarang akan mendapatkan format datetime
import pandas as pd values = {'dates': [20210305,20210316,20210328], 'status': ['Opened','Opened','Closed'] } df = pd.DataFrame(values, columns = ['dates','status']) print (df) print (df.dtypes) _2Anda mungkin juga ingin memeriksa panduan berikut untuk langkah-langkah mengonversi string ke waktu dalam Pandas DataFrame