cara Menampilkan Data Berdasarkan Hari Ini, Minggu Ini, dan Bulan Ini

 



cara Menampilkan Data Berdasarkan Hari Ini, Minggu Ini, dan Bulan Ini berikut Kode Program

python
import pandas as pd from datetime import datetime, timedelta # Contoh data data = [ {"id": 1, "tanggal": "2025-01-26", "keterangan": "Data 1"}, {"id": 2, "tanggal": "2025-01-27", "keterangan": "Data 2"}, {"id": 3, "tanggal": "2025-01-28", "keterangan": "Data 3"}, {"id": 4, "tanggal": "2025-01-20", "keterangan": "Data 4"}, {"id": 5, "tanggal": "2025-01-05", "keterangan": "Data 5"}, {"id": 6, "tanggal": "2024-12-15", "keterangan": "Data 6"} ] # Konversi data menjadi DataFrame df = pd.DataFrame(data) # Konversi kolom tanggal ke tipe datetime df["tanggal"] = pd.to_datetime(df["tanggal"]) # Tanggal hari ini today = datetime.now() # 1. Data Hari Ini data_hari_ini = df[df["tanggal"].dt.date == today.date()] # 2. Data Minggu Ini start_of_week = today - timedelta(days=today.weekday()) # Awal minggu (Senin) end_of_week = start_of_week + timedelta(days=6) # Akhir minggu (Minggu) data_minggu_ini = df[(df["tanggal"] >= start_of_week) & (df["tanggal"] <= end_of_week)] # 3. Data Bulan Ini start_of_month = today.replace(day=1) # Hari pertama bulan ini end_of_month = (start_of_month + timedelta(days=31)).replace(day=1) - timedelta(days=1) # Hari terakhir bulan ini data_bulan_ini = df[(df["tanggal"] >= start_of_month) & (df["tanggal"] <= end_of_month)] # Output hasil print("Data Hari Ini:") print(data_hari_ini) print("\nData Minggu Ini:") print(data_minggu_ini) print("\nData Bulan Ini:") print(data_bulan_ini)

Penjelasan Kode

  1. Library yang Digunakan:

    • datetime: Untuk manipulasi tanggal dan waktu.
    • pandas: Untuk pengolahan data dalam bentuk tabel.
  2. Struktur Data:

    • Data disimpan dalam bentuk list of dictionaries yang kemudian diubah menjadi pandas DataFrame.
  3. Proses Penyesuaian Tanggal:

    • Kolom tanggal dikonversi menjadi format datetime agar bisa dibandingkan secara langsung.
  4. Penentuan Waktu:

    • Hari Ini:
      • Data yang memiliki tanggal yang sama dengan tanggal hari ini.
    • Minggu Ini:
      • Menggunakan today.weekday() untuk menghitung awal minggu (Senin).
      • Akhir minggu adalah 6 hari setelah awal minggu.
    • Bulan Ini:
      • Awal bulan menggunakan today.replace(day=1).
      • Akhir bulan dihitung dengan mencari awal bulan berikutnya dan mundur satu hari.
  5. Filter Data:

    • Menggunakan kondisi filter pada DataFrame dengan operator logis (&, ==, >=, <=).

Contoh Hasil Output

Jika hari ini adalah 2025-01-28, hasilnya:

yaml
Data Hari Ini: id tanggal keterangan 2 3 2025-01-28 Data 3 Data Minggu Ini: id tanggal keterangan 1 2 2025-01-27 Data 2 2 3 2025-01-28 Data 3 Data Bulan Ini: id tanggal keterangan 0 1 2025-01-26 Data 1 1 2 2025-01-27 Data 2 2 3 2025-01-28 Data 3 4 5 2025-01-05 Data 5
Previous Post Next Post

نموذج الاتصال