הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   פורמט הפונקציה strtotime (https://hosts.co.il/forums/showthread.php?t=94024)

trupix 12-12-11 16:35

פורמט הפונקציה strtotime
 
הי,

אני מנסה להמיר את התאריך 16/12/2011 (16 בדצבמבר 2011) לunix timestamp, אולם בכדי לעשות זאת עליי להחליף בין היום לתאריך (=12/16/2011)
יש ערך כלשהו שמחליף את הפורמט הזה?
משום שהתאריכים קיימים בפורמט d/m/Y ומוזנים בתוך המסד נתונים, ובלתי אפשרי לשנות אותם

רב תודות!


נ.ב,
אני יודע שניתן להכניס את התאריך בפורמט dmY וגם לקבל את הstrtotime כמו שצריך, אך לשם כך עליי להחליף את ה"\" (סלאש) ב"-" (מקף)

IgalSt 12-12-11 17:24

על איזו שפה/טכנולוגיה אנחנו מדברים?

trupix 12-12-11 17:43

ציטוט:

נכתב במקור על ידי IgalSt (פרסם 827952)
על איזו שפה/טכנולוגיה אנחנו מדברים?

חח, php

אדיר 12-12-11 20:02

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

קרא על זה.

trupix 12-12-11 20:31

ציטוט:

נכתב במקור על ידי xPerfection (פרסם 827981)
באיזה סוג שדה הנתון הזה מאוחסן במסד הנתונים, ולמה בדיוק אי אפשר לשנות אותם?
ייתכן שתוכל לשלוף אותו בעזרת הפונקציה ()DATE_FORMAT של MySQL וכך להתאים אותו לתבנית הרצויה.

קרא על זה.

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

בכול זאת תודה רבה!

אדיר 12-12-11 20:34

אני יודע איזה תבניות מקבלת הפונקציה strtotime.

אתה שומר את התאריך בשדה שמיועד לטקסט? זאת טעות.
תשמור אותו בשדה מסוג ייעודי (לדוג' DATE\ TIMESTAMP בהתאם לצורך) וכך תוכל לעשות איתו כל מה שאתה צריך.

Haimz 12-12-11 20:52

כמו שאמרו לך פה, עדיף לשמור את זה בתור timestamp במסד, אבל
לדעתי אתה יכול להשתמש בMKTIME (בתנאי שהבנתי אותך כמו שצריך):
PHP קוד:

<?php

    $date 
$row['date']; // התאריך מהמסד
    
    
$timestamp_date explode("/"$date);
    
$timestamp mktime(nullnullnull$timestamp_date[1], $timestamp_date[0], $timestamp_date[2]);

?>

כמובן שזה להשגת הTIMESTAMP
ואם תרצה לסדר את זה מחדש, אז..
PHP קוד:

<?php

    $date 
$row['date']; // התאריך מהמסד
    
    
$arr_date explode("/"$date);
    
    
$new_date implode("/", array( $arr_date[1], $arr_date[0], $arr_date[2] ) );

?>

ואתה יכול להפוך את זה גם בREGEX
PHP קוד:

preg_replace("~([0-9]+)\/([0-9]+)\/([0-9]+)~""$2/$1/$3"$date); 

לא חסר שיטות ;)

בהצלחה


כל הזמנים הם GMT +2. הזמן כעת הוא 05:45.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ