En Python pouvez-vous sélectionner une date aléatoire à partir d'une année. par exemple. si l'année 2010 était une date retournée pourrait être 15/06/2010Python sélectionner une date aléatoire dans l'année en cours
Répondre
Il est beaucoup plus simple d'utiliser les dates ordinales (selon laquelle la date d'aujourd'hui est 734158):
from datetime import date
import random
start_date = date.today().replace(day=1, month=1).toordinal()
end_date = date.today().toordinal()
random_day = date.fromordinal(random.randint(start_date, end_date))
Cela échouera pour les dates avant 1AD.
+1 Très propre! Je ne connaissais pas les dates ordinales avant :-) Clairement meilleur et plus joli que ma solution timstamp, qui a encore plus de limitations sur les "dates avant" ... – plundra
La question était "date aléatoire d'un an", pas entre 1er janvier et aujourd'hui. – AndiDog
Mais le titre était "sélectionnez une date aléatoire dans l'année en cours". Pour obtenir une date aléatoire dans une année arbitraire, il suffit de calculer différentes dates de début et de fin, par exemple: 'start_date = date (jour = 1, mois = 1, année = MY_YEAR) .toordinal() ' et 'end_date = date (jour = 31, mois = 12, année = MY_YEAR) .toordinal() '. –
Pas directement, mais vous pourriez ajouter un nombre aléatoire de jours au 1er janvier. Je suppose que les éléments suivants devraient travailler pour le calendrier grégorien:
from datetime import date, timedelta
import random
import calendar
# Assuming you want a random day of the current year
firstJan = date.today().replace(day=1, month=1)
randomDay = firstJan + timedelta(days = random.randint(0, 365 if calendar.isleap(firstJan.year) else 364))
Nice. Il y a en fait une fonction 'isleap()' dans le module 'calendar', qui sauverait la définition de vous-même. –
@Daniel: Merci, vous avez raison. Apprendre quelque chose de nouveau tous les jours sur SO :) N'ont pas beaucoup utilisé le module de calendrier (encore). Edited ma réponse. – AndiDog
import datetime, time
import random
def year_start(year):
return time.mktime(datetime.date(year, 1, 1).timetuple())
def rand_day(year):
stamp = random.randrange(year_start(year), year_start(year + 1))
return datetime.date.fromtimestamp(stamp)
Modifier: dates ordinales utilisé pour répondre Michael Dunns sont beaucoup mieux d'utiliser alors horodatages! On pourrait vouloir combiner l'utilisation des ordinaux avec cela.
import calendar
import datetime
import random
def generate_random_date(future=True, years=1):
today = datetime.date.today()
#Set the default dates
day = today.day
year = today.year
month = today.month
if future:
year = random.randint(year, year + years)
month = random.randint(month, 12)
date_range = calendar.monthrange(year, month)[1] #dates possible this month
day = random.randint(day + 1, date_range) #1 day in the future
else:
year = random.randint(year, year - years)
month = random.randint(1, month)
day = random.randint(1, day - 1)
return datetime.date(year, month, day)
- 1. Sélectionner une table aléatoire
- 2. Comment sélectionner un élément aléatoire d'un tableau en Python?
- 3. linq sélectionner une ligne aléatoire
- 4. Fonction aléatoire en Python
- 5. Comment sélectionner une date aléatoire dans une plage de dates AS3
- 6. Chaîne aléatoire en python
- 7. échantillon aléatoire en python
- 8. Créer une liste aléatoire d'entiers en Python
- 9. Insérer/mettre à jour une date aléatoire dans MySQL
- 10. Comment sélectionner une chaîne de manière aléatoire
- 11. Python Aléatoire Aléatoire Par
- 12. Générer Date aléatoire dans groovy
- 13. Comment sélectionner une image aléatoire de taille spécifique en utilisant Django/Python?
- 14. comment sélectionner une date calendrier déroulant en utilisant le sélénium
- 15. Je veux sélectionner une date dans l'accès
- 16. Comment sélectionner des éléments de manière aléatoire dans une liste?
- 17. Comment sélectionner une clé aléatoire dans un NSDictionary?
- 18. sélectionner une date dans la liste déroulante en fait une autre à la même date
- 19. Sélectionner des enregistrements du mois en cours
- 20. Comment sélectionner une colonne DATETIME en utilisant uniquement une date?
- 21. Comment puis-je générer une date aléatoire dans le passé?
- 22. Sélectionner une date, puis sélectionner la date précédente avant cette date
- 23. Importation/cours en cours d'exécution dans les causes Python NameError
- 24. Comment effectuer un événement aléatoire en Python en choisissant une variable aléatoire?
- 25. sélectionner l'élément sous dans une liste de tuple en python
- 26. saisie d'une date aléatoire dans une cellule - Excel VBA
- 27. Chaud pour obtenir une date aléatoire dans la plage
- 28. Générer une date aléatoire dans Oracle avec DBMS_RANDOM
- 29. Choisir un mot aléatoire en Python?
- 30. cours de décorateur en Python
Voici une date aléatoire pour vous: 2010-08-22. Vous n'avez plus besoin de générer un code. ;) Oh, vous voulez dire un différent à chaque fois. –