-
כדי לקבל תאריך עברי בJS יש את הספריה המובנית "Intl.DateTimeFormat"
כדי לקבל תאריך נוכחי אני כותב את השורה הבאה:new Intl.DateTimeFormat('he-u-ca-hebrew',{weekday: 'long', year:'numeric', month:'numeric', day:'numeric'}).format(new Date());
הבעיה בזה היא שהפלט הוא:
'יום שישי, 23 בתמוז 5782'
ולא
'יום שישי, כג בתמוז תשפב'
לא מצאתי הגדרה מובנית שמטפלת בזה.
פספסתי משהו? -
@הפצת-אנקי אין הגדרה מובנית.
מכיון שהדבר אומר דרשני, חטטתי קצת בנושא, וזה מה שיצא
עד כמה שאני מבין זו החלטה שרירותית של יצרני הדפדפנים לא לכלול שיטות מיספור אלגוריתמיים (כלומר, שאין מפת החלפה פשוטה מספרות ערביות לספרות בשיטת המיספור ההוא)
ההחלטה כנראה מסתמכת על העובדה שאין תקן של ECMA עבור שיטת מיספור כאלו, אלא הם משאירים את המימוש ביד היצרן של הדפדפן (implementation dependent algorithm), ומכיון ששיטות מיספור אלו מסובכים יותר מהשאר, ועלולים לטעויות, החליטו שבהעדר תקן הם לא מממשיםמקורות:
- הערה בקוד המקור של כרומיום (ועוד שם בכמה מקומות)
- בקוד המקור של webkit (ספארי)
- בקוד המקור של פיירפוקס, עוד
- דיון בגיטהאב
- תקן ECMA 402 (עיין סעיף 15.5.5 ס"ק 1.C.iii.2, ו-Annex A )
-
@הפצת-אנקי אמר בJS - תאריך עברי באותיות:
לא מצאתי הגדרה מובנית שמטפלת בזה.
תנסה ליצור לולאת for שתעבור על כל הספרות ותמיר אותם לטקסט.
(או שתשתמש בספריה ש @chagold הביא, היא מעולה!)
-
אני מצאתי את המודול הזה כנוח ויעיל ביותר:
https://www.npmjs.com/package/gematriyaפשוט ויעיל לגימטריא של מספרים ושנים.
לפי מה שכתוב שם זה קשור לHEBCAL באיזושהי צורה, אבל תכל'ס זה לא כלול בחבילה המודרנית שלהם, יש שם משהו הרבה פחות טוב.
-