Acquisition de la «fin de mois» d'un certain programme lié à une date. Après tout, c'est la même chose que la référence StackOverflow ... Remarque.
date - Get Last Day of the Month in Python - Stack Overflow
Il y a python, mais ne créez pas de fichier programme avec un nom tel que calendar.py
. Parce qu'il sera appelé à la place du module standard.
si
AttributeError: 'module' object has no attribute 'Calendar'
Et,
AttributeError: 'module' object has no attribute 'monthrange'
Si vous obtenez une erreur comme celle-là, supprimez le calendar.pyc
qui aurait dû être généré dans votre répertoire de travail.
Par exemple, en décembre 2014.
import calendar
print calendar.monthrange(2014,12)
Selon 8.2. Calendrier - Fonctions liées au calendrier général - Documentation Python 2.7ja1
calendar.monthrange (année, mois) Renvoie le jour et le nombre de jours du mois spécifiés par année et par mois.
alors,
production
(0, 31)
Sera retourné. Cela signifie que le premier jour du mois est le lundi (numéro de jour 0) et que le nombre de jours du mois spécifié est de 31 jours.
Alors
import calendar
_, lastday = calendar.monthrange(2014,12)
print(lastday)
production
31
Cela signifie que vous pouvez l'obtenir le dernier jour du mois désigné.
Soustrayez un jour du début du mois suivant. Dans le module datetime, l'addition / soustraction et la comparaison d'amplitude peuvent être effectuées à l'aide d'opérateurs arithmétiques en utilisant la sous-classe timedelta.
8.1. Datetime - types de date et d'heure de base - documentation Python 2.7ja1
import datetime
date = datetime.date(2015, 1, 1) - datetime.timedelta(days=1)
print date.day
production
31
Je pense que l'une ou l'autre des méthodes ci-dessus est bonne.
Je pense que le premier jour du mois sera requis comme suit.
import datetime
dt = datetime.datetime.utcnow()
# datetime.datetime(2017, 11, 26, 20, 51, 59, 745695)
dt.date() - datetime.timedelta(days=dt.day - 1)
# datetime.date(2017, 11, 1)
c'est tout.
require 'Date'
puts Date.new(2001,2,-1).day
Uo, une ligne ...
production
28
J'ai l'impression que c'est du rubis.
fin.
Dernier jour du mois précédent
from datetime import datetime, timedelta
yesterday = datetime(2018, 3, 29).date()
last_day_of_previous_month = yesterday - timedelta(days=yesterday.day)
Recommended Posts