דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. קבלת תאריך עברי בפייתון

קבלת תאריך עברי בפייתון

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 4 כותבים 1.1k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • אבייא מנותק
    אבייא מנותק
    אביי
    כתב ב נערך לאחרונה על ידי אביי
    #1

    כיצד ניתן לקבל תאריך עברי של היום/תאריך נתון בפייתון? אני רוצה ספריה ולא API

    הספריה של hebcal שוקלת הרבה משום מה ומחזירה שגיאה בהתקנה

    אני צריך סטרינג של "יום חמישי כב שבט תשפד" ללא תוספות,

    מצאתי את זה

    import datetime
    import hdate
    
    h = hdate.HDate(datetime.date(2024, 1, 25), hebrew=True)
    print(h)
    

    אבל זה מחזיר ביום רגיל
    יום חמישי כב בשבט ה' תשפ"ד

    ובחגים,
    יום חמישי ט"ו בשבט ה' תשפ"ד ט"ו בשבט

    וזה לא טוב לי...

    מספיק לי גם התאריך לבדו, את היום אני יכול לקבל לבד ע"י החלפה של מספר היום שמתקבל לטקסט, משהו כזה

    import datetime
    
    def get_ordinal_number(number):
        number = int(number)
        if number not in range(0, 7):
            raise ValueError("Number must be between 0 and 6.")
        
        ordinals = {
            0: "יום ראשון",
            1: "יום שני",
            2: "יום שלישי",
            3: "יום רביעי",
            4: "יום חמישי",
            5: "יום שישי",
            6: "מוצאי שבת",
        }
    
        return ordinals[number]
    
    year = 2024
    month = 2
    day = 6
    
    date_object = datetime.datetime(year, month, day)
    
    day_of_week_number = int(date_object.strftime('%w'))
    
    print(day_of_week_number)
    print(get_ordinal_number(day_of_week_number))
    
    

    ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
    הלינקיה שלי https://abaye.co/link.html

    אבייא תגובה 1 תגובה אחרונה
    0
    • אבייא מנותק
      אבייא מנותק
      אביי
      השיב לאביי ב נערך לאחרונה על ידי
      #2

      בינתיים עשיתי קומבינה כזו, אבל מפחיד אותי שבתאריכים מסוימים זה יעשה בעיות..

      import re
      import hdate
      import datetime
      
      def get_hebrew(current_date):
          year = current_date.year
          month = current_date.month
          day = current_date.day
      
          try:
              gregorian_date = datetime.date(year, month, day)
              hebrew_date = hdate.HDate(gregorian_date, hebrew=True)
              return hebrew_date
          except requests.exceptions.RequestException as e:
              print(f"Error: {e}")
              return None
      
      
      hebrew = f'{get_hebrew(current_time)}'
      index_tash = hebrew.find('ה\' תש')
      
      if index_tash != -1:
          hebrew = hebrew[:index_tash + 8]
      else:
          hebrew = hebrew
      
      file_name = f'{hebrew}.wav'
      
      file_name = file_name.replace("ה' ת", "ת")
      sanitized_filename = re.sub(r'[\/:*?"<>|]', '', file_name)
      sanitized_filename = re.sub(r'[\u0591-\u05C7]', '', sanitized_filename)
      
      print(sanitized_filename)
      

      ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
      הלינקיה שלי https://abaye.co/link.html

      צדיק תמיםצ תגובה 1 תגובה אחרונה
      0
      • צדיק תמיםצ מנותק
        צדיק תמיםצ מנותק
        צדיק תמים
        השיב לאביי ב נערך לאחרונה על ידי צדיק תמים
        #3

        @אביי את זה ניסית? https://github.com/simlist/pyluach
        ראה גם https://www.david-greve.de/luach-code/jewish-python.html

        @אביי כתב בקבלת תאריך עברי בפייתון:

        הספריה של hebcal שוקלת הרבה משום מה ומחזירה שגיאה בהתקנה

        מה השגיאה? אצלי תקין
        בכל מקרה אם שום דבר אחר לא יעבוד אתה יכול להשתמש בhdate כמו שכתבת בהתחלה, ולקצוץ את התוספת של החגים עם regex

        Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
        טיפים

        תגובה 1 תגובה אחרונה
        1
        • ל מנותק
          ל מנותק
          לי ראש
          כתב ב נערך לאחרונה על ידי לי ראש
          #4

          @אביי, את היום בשבוע אתה יכול לקבל בדרך קצרה יותר:

          from datetime import datetime
          
          weekday_int = datetime.now().weekday()
          
          weekday_name = ("מוצאי שבת", "שישי", "חמישי", "רביעי", "שלישי", "שני", "ראשון")[weekday_int]
          

          כתבתי בפייתון ממיר תאריך לועזי לעברי (ולהיפך).
          אם תרצה אשלח לך.

          תגובה 1 תגובה אחרונה
          1
          • ל מנותק
            ל מנותק
            לי ראש
            כתב ב נערך לאחרונה על ידי לי ראש
            #5

            אשמח לעזרה: מאז שפרסמתי כאן לינק (עכשיו מחקתי אותו) לאפליקצייה המבוססת על קוד בגיטהאב, אני מקבל התראות שמישהו מירושלים מתחבר לחשבון שלי בגיטהאב. (אני תושב חו"ל). איך זה קורה? מה אני יכול לעשות?

            תגובה 1 תגובה אחרונה
            0
            • NH.LOCALN מנותק
              NH.LOCALN מנותק
              NH.LOCAL
              כתב ב נערך לאחרונה על ידי
              #6

              זה קצת ישן. אבל למי שיתקל בפוסט בעתיד, ניתן להשתמש בספריית pyluach:

              התקנה:

              pip install pyluach
              

              הקוד המתאים:

              from pyluach import dates
              import datetime
              
              # קבלת התאריך הלועזי הנוכחי
              today_gregorian = datetime.date.today()
              
              # המרת התאריך הלועזי לתאריך עברי
              hebrew_date = dates.GregorianDate(today_gregorian.year, today_gregorian.month, today_gregorian.day).to_heb()
              
              # הצגת התאריך העברי בפורמט עברי
              hebrew_date_str = hebrew_date.hebrew_date_string()
              print(f"התאריך העברי היום הוא: {hebrew_date_str}")
              

              התוצאה במקרה שלנו:

              התאריך העברי היום הוא: י״ד כסלו תשפ״ה
              

              🤖 למעקב אחרי התפתחויות חשובות בבינה המלאכותית
              https://nhlocal.github.io/AiTimeline

              תגובה 1 תגובה אחרונה
              4

              בא תתחבר לדף היומי!
              • התחברות

              • אין לך חשבון עדיין? הרשמה

              • התחברו או הירשמו כדי לחפש.
              • פוסט ראשון
                פוסט אחרון
              0
              • דף הבית
              • קטגוריות
              • פוסטים אחרונים
              • משתמשים
              • חיפוש
              • חוקי הפורום