ABA


"מחפש אלגוריתם להמרת מספר שבוע בשנה למספר יום בשנה"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #11537 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11537
X boy

דרג אמינות חבר זה
   23:52   27.01.07   
אל הפורום  
  מחפש אלגוריתם להמרת מספר שבוע בשנה למספר יום בשנה  
 
   פירסמתי את זה גם בפורום תיכנות כי אני חושב שזה מתאים לשני הפורומים.

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

אני חשבתי שאם אני מכפיל את המספר שבוע ב7 אני מקבל את המספר יום בשנה אבל זה לא יוצא נכון בכל שנה מכיוון שבכל שנה ה 01.01 מתחיל ביום אחר בשבוע ואז זה לא שבוע שלם.


תודה מראש!!!


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  יש פתרון בהרבה יותר קל ממה שאתה חושב bmaorlo  28.01.07 09:39 1
     עכשיו ראיתי שאתה מתכנת בasp akoka 28.01.07 10:41 2
  הכנתי לך משהו איגביני 28.01.07 15:19 3
     ככה akoka 28.01.07 15:23 4
         בוא ננסה איגביני 28.01.07 16:15 5
             תודה רבה, אבל לפי מה שאני מבין זה לא בדיוק זה X boy 29.01.07 00:15 6
                 הנה הקוד של מה שהכנתי X boy 29.01.07 00:19 7
                     הבנתי אותך, אבל לא חבל? איגביני 29.01.07 10:31 8
                         הבנתי אותך, אני יבדוק את זה תודה... X boy 30.01.07 14:57 9

       
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות, דרג אמינות חבר זה
   09:39   28.01.07   
אל הפורום  
  1. יש פתרון בהרבה יותר קל ממה שאתה חושב  
בתגובה להודעה מספר 0
 
   אני מקווה שאתה מדבר על PHP
כי אם בPHP אתה עושה

date("D");

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   10:41   28.01.07   
אל הפורום  
  2. עכשיו ראיתי שאתה מתכנת בasp  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 28.01.07 בשעה 10:47 בברכה, akoka
 
:/


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
איגביני
חבר מתאריך 4.7.08
2567 הודעות, דרג אמינות חבר זה
   15:19   28.01.07   
אל הפורום  
  3. הכנתי לך משהו  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 28.01.07 בשעה 15:20 בברכה, איגביני
 
איך אני עושה בהודעה ריבוע של קוד?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   15:23   28.01.07   
אל הפורום  
  4. ככה  
בתגובה להודעה מספר 3
 
   תגית code עם סוגרים מרובעות
/
/


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
איגביני
חבר מתאריך 4.7.08
2567 הודעות, דרג אמינות חבר זה
   16:15   28.01.07   
אל הפורום  
  5. בוא ננסה  
בתגובה להודעה מספר 4
 
   ברגע שיש לך את התאריך העתידי של השבוע שאתה צריך, לא משנה איזה יום זה יוצא, אתה יכול למצוא את היום הראשון של אותו שבוע. אם אין לך איך למצוא את התאריך הזה, אני אנסה לעזור לך יותר מאוחר.

<%

Function DayName(TheDate)
DayNumber = WeekDay(TheDate)

If DayNumber > 1 Then
FirstDayCount = 0
Do until DayNumber = 1
DayNumber = DayNumber - 1
FirstDayCount = FirstDayCount 1
Loop
FirstDayDate = DateAdd("d",-FirstDayCount,TheDate)
DayName = FirstDayDate & ", " & WeekDayName(WeekDay(FirstDayDate))
Else
DayName = TheDate & ", " & WeekDayName(WeekDay(TheDate))
End if

End Function

%>

ואז בעצם אתה קורא לפונקציה עם התאריך שאתה צריך בסוגריים.


<%=DayName(FutureDate)%>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
X boy

דרג אמינות חבר זה
   00:15   29.01.07   
אל הפורום  
  6. תודה רבה, אבל לפי מה שאני מבין זה לא בדיוק זה  
בתגובה להודעה מספר 5
 
   מה שאני רציתי זה שאני יזין מספר שבוע למשל 52 בשנת 2007 והוא יתן לי את התאריך של תחילת השבוע הזה.

בכל מיקרה אני הצלחתי למצוא פיתרון קצת מגעיל אומנם אבל עובד יופי (-:

אם מעניין אותך:
שנה שהיום הראשון בה הוא יום ראשון בשבוע כמו שנת 2006 למשל
ש ה 01.01.06 נופל על יום ראשון, ונניח שאני רוצה לדעת מהו השבוע השני
אז אני עושה 7*2 = 14
14-6=8
את 8 אני יכול להריץ בשאילתת SQL
MAKEDATE(2006,8(
והוא יחזיר לי את התאריך שזה ה08.01.06

אם שנה מתחיל ביום שני מורידים 7
וככה הלאה וזה נותן את התאריך המדוייק

קצת מסורבל ומעצבן אבל עובד.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
X boy

דרג אמינות חבר זה
   00:19   29.01.07   
אל הפורום  
  7. הנה הקוד של מה שהכנתי  
בתגובה להודעה מספר 6
 
   תגידו לי בבקשה מה אתה חושבים עליו (מכל הבחינות גם צורת כתיבה הכל מעניין אותי לדעת). תודה מראש...

set c=server.createobject("ADODB.Connection")
c.open "dsn="& DSNSet &";"

set r=server.createobject("adodb.recordset")
r.activeconnection=c

ThisYear=request.querystring("year")
WeekNumber=request.querystring("week")

YearStartOn = WeekDay("01/01/"&ThisYear)

SELECT CASE YearStartOn
CASE 1
LessDays=6
CASE 2
LessDays=7
CASE 3
LessDays=8
CASE 4
LessDays=9
CASE 5
LessDays=10
CASE 6
LessDays=11
CASE 7
LessDays=12
END SELECT

DayToCheck=(WeekNumber*7)-LessDays

r.open "SELECT MAKEDATE("&ThisYear&","&DayToCheck&") AS StartDate"
StartDate=r.fields("StartDate")
EndDate=r.fields("StartDate")+6

response.write StartDate&"-"&EndDate

set r=nothing
c.close
set c=nothing


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
איגביני
חבר מתאריך 4.7.08
2567 הודעות, דרג אמינות חבר זה
   10:31   29.01.07   
אל הפורום  
  8. הבנתי אותך, אבל לא חבל?  
בתגובה להודעה מספר 7
 
   מה שהיית צריך להוסיף בקוד שנתתי לך זה את זה:


WeekSelect = Request("Week")
YearSelect = Request("Year")
DateSelect = DateAdd("ww",WeekSelect,"01/01/" & YearSelect)
Response.Write(DayName(DateSelect))

שים את זה אחרי הפונקציה. ה-DateAdd בעצם מוסיף ליום הראשון של השנה שאתה בוחר, את מספר השבוע שהזנת לו. הפונקציה שרשמתי לך למעלה יודעת למצוא את היום הראשון של אותו שבוע.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
X boy

דרג אמינות חבר זה
   14:57   30.01.07   
אל הפורום  
  9. הבנתי אותך, אני יבדוק את זה תודה...  
בתגובה להודעה מספר 8
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net