זמן שרת, זמן משתמש והבדלים במידע המוצג
מקרה א
כאשר אני מפרמט מתוך node אני מקבל תאריך נכון, מותאם לאזור זמן של ישראל. קוד לדוגמא:
<?php
foreach($node->field_time as $key){
$date= strtotime($key['value']);
$formatted = format_date($date, 'custom', 'l, d.m.y - H:i');
print $formatted;
}
?>מקרה ב
בעיה מתעוררת כאשר אני מנסה לפרמט בהקשר אחר - בתוך שדה של היבט - ראו בקוד הבא ובתמונת מסך המצורפת.
התבנית אותה אני מעצב היא: views-view-field--view-todays-event-list--field-time-value.tpl
<?php
$timestamp= strtotime($row->node_data_field_time_field_time_value);
$formatted = ($timestamp, 'custom', 'H:i');
print $formatted;
?>
הבעיה: השעה יוצאת שעתיים אחורה מהשעה הנכונה. זאת, לעומת קריאת אותו הערך בקוד למעלה.
דיון קשור אבל לא בדיוק אותו דבר: http://www.drupal.org.il/node/2048
השאלות שלי:
1. למה יש הבדל בין מקרה א למקרה ב?
2. האם אפשר לשאוב את הערך הנכון מראש עבור מקרה ב כדי לקבל תוצאה כמו של מקרה א?
3. אם 2 בעייתי או אינו אפשרי בהקשר בו אני נמצא, מה הדרך הנכונה לתת timezone נכון? כלומר, לא נראה לי נכון להוסיף שתי שעות בשניות, כי אני לא בטוח האם זה יעבוד נכון בשעון קיץ. הערה, ניסיתי להוסיף 7200 (שעתיים) וזה לא השפיע כלל:
<?php
print format_date($timestamp, 'custom', 'H:i', 7200);
?>תודה.
| קובץ מצורף | גודל |
|---|---|
| Untitled.png | 38.69 קילובייט |
