MMonthAnchor
Ruang kerja kode dengan AI

Pergeseran bulan dengan pembatasan hari

Geser tanggal dengan bulan kalender bulat dan batasi harinya ke hari terakhir bulan tujuan.

● ● ●MonthAnchor●
Alur kerja · Pergeseran bulan dengan pembatasan hari ×
from calendar import monthrange
from datetime import date

def add_months(day, delta):
    if type(day) is not date or type(delta) is not int:
        raise ValueError("month.input")
    year, month0 = divmod(day.year * 12 + day.month - 1 + delta, 12)
    if not 1 <= year <= 9999:
        raise ValueError("month.year")
    last = monthrange(year, month0 + 1)[1]
    return date(year, month0 + 1, min(day.day, last))
✳Pergeseran bulan dengan pembatasan hari
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
Proyek
Uji 31 Januari pada tahun kabisat dan biasa serta pergeseran negatif, menolak pecahan dan tahun di luar rentang.
Tinjau sebelum menerapkan
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
Model
Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
Alur kerja

Pergeseran bulan dengan pembatasan hari

Alur kerja ↗
Alur kerja
from calendar import monthrange
from datetime import date

def add_months(day, delta):
    if type(day) is not date or type(delta) is not int:
        raise ValueError("month.input")
    year, month0 = divmod(day.year * 12 + day.month - 1 + delta, 12)
    if not 1 <= year <= 9999:
        raise ValueError("month.year")
    last = monthrange(year, month0 + 1)[1]
    return date(year, month0 + 1, min(day.day, last))
Ruang kerja kode dengan AI

Jadikan harapan kalender sebagai perilaku perangkat lunak yang eksplisit

Perubahan tanggal sering menyembunyikan keputusan produk dalam fungsi utilitas. MonthAnchor adalah ruang kerja pemrograman AI Windows untuk membahas keputusan itu sambil melihat implementasinya. Buka proyek dan jelaskan hasil kalender yang diharapkan sebelum meminta model terhubung menyunting kode. Sertakan kode pemanggil yang bergantung pada perilaku saat ini, bukan hanya fungsi pembantu tanggal.

Pengingat berulang memberikan tugas konkret: memajukan tanggal satu bulan ketika harinya tidak ada pada bulan tujuan. Minta asisten memeriksa aturan saat ini dan mengusulkan perubahan hanya setelah Anda menentukan apakah hari harus dibatasi ke hari terakhir atau mengikuti kebijakan lain. Pengingat itu merupakan skenario pengembangan, bukan layanan penjadwalan yang disediakan.

Tinjau usulan melalui operasi berturut-turut. Pembatasan sekali dapat memengaruhi penambahan bulan berikutnya, jadi tentukan apakah hari acuan awal perlu diingat di tempat lain. Jalankan pengujian proyek untuk akhir bulan, tahun kabisat, dan rentang tahun yang didukung. Periksa tanggal yang dilihat pengguna serta nilai kembalian langsung fungsi pembantu sebelum menerima suntingan.

MonthAnchor terhubung ke endpoint kompatibel OpenAI atau Anthropic yang didukung. Model AI abliterasi dapat membantu jika ditawarkan oleh layanan yang dikonfigurasi; batas konteks dan dukungan alat bergantung pada konfigurasi itu. Model dapat mengusulkan kode kalender, sedangkan persyaratan Anda menentukan apakah perilakunya benar.

Sebelum mengubah perilaku berbasis bulan

Mengapa perpindahan bulan perlu ditentukan terpisah dari jumlah hari berlalu?

Kedua operasi memenuhi persyaratan berbeda. Pengingat pada tanggal kalender mungkin tidak mengikuti durasi tetap. Beri tahu asisten aturan yang dijanjikan aplikasi, lalu periksa apakah implementasi usulannya mempertahankan aturan tersebut untuk bulan pendek.

Apa yang terjadi ketika tanggal yang dibatasi dipindahkan lagi?

Itu bergantung pada apakah aplikasi mengingat hari acuan awal atau memakai hasil terakhir sebagai masukan baru. Nyatakan urutan yang dimaksud secara eksplisit. Uji beberapa perpindahan, alih-alih menganggap satu hasil yang benar membuktikan perilaku pengulangan.

Haruskah patch ini juga menambahkan penanganan zona waktu?

Hanya jika persyaratan yang terdampak melibatkan waktu atau konversi zona. Fungsi pembantu khusus tanggal mungkin sengaja memiliki kontrak lebih sempit. Tanyakan kode pemanggil mana yang memerlukan perilaku tambahan sebelum memperluas patch menjadi jenis masalah kalender lain.

Batas apa yang perlu dijadikan data uji tinjauan?

Sertakan bulan tujuan pendek, transisi tahun kabisat, perpindahan negatif, dan batas tahun yang didukung. Tulis hasil yang diharapkan berdasarkan kebijakan aplikasi. Jalankan data uji di proyek, alih-alih hanya mengandalkan contoh asisten.

Unduh untuk Windows ↗

MonthAnchor · Diperbarui 2026-10-25