Author Topic: vLibDate welches Format muss Zeitstempel haben?  (Read 1092 times)

0 Members and 1 Guest are viewing this topic.

StefanR

  • Guest
vLibDate welches Format muss Zeitstempel haben?
on: Mon, 12. April 2004 - 16:32:35
Hallo,

die erste Frage ist zwar nocht nicht beantwortet hier im Forum, aber ich frage trotzdem mal und zwar wollte ich wissen, welches Format, dass Datum haben muss, damit ich es mit vlibDate formatieren kann. Zur Zeit ist es in meiner Datenbank "YYYY-MM-DD HH:MM:SS" so und wenn ich da das Beispiel hier: http://lamp.clausvb.de/examples/vlibTemplate_db.php nachvollziehen will, bekomme ich folgenden Fehler:
Fatal error: vlibDate error: Invalid timstamp used. in D:TSWApache2htdocsportalP4Madmin   emplatevlibvlibDateerror.php on line 51

Habe das mal für mich umgeschrieben, was denn so aussieht:
Code: [Select]
data = array;
 while rowNews = mysql_fetch_arrayresultNews {
 array_pushdata, array
   title = rowNewsnewsHead,
   date = date - formatDaterowNewsnewsDate, %d.%m.%Y %H%i%s,
   id = rowNewsnewsID  
  ;
 }
 tpl-setLoopnews,data;

Habe ich jetzt einen Fehler gemacht oder ist der "Zeitstempel" der Datenbank falsch?
Last Edit: Tue, 27. December 2005 - 15:53:42 by ClausVB

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
vLibDate welches Format muss Zeitstempel haben?
Reply #1 on: Tue, 13. April 2004 - 07:44:47
vlibDate kann nur Daten verarbeiten, keine Stunden, Minuten oder Sekunden.

Das Format lautet: JJJJ-MM-TT (engl. YYYY-MM-DD)

Kelvin wurde gefragt ob er das entwickeln würde, aber er möchte das nicht.

Es gibt aber einen Workaround:
Code: [Select]
/////
// Rearranges date and time like strftime would do. Uses vlibDate.
// source 2002-06-17 111000 = german example Mon, 17. Jun 2002 - 1117
// @param datetime   db_date  --- c_open, c_accept, c_closed ... db_dates = DATETIME
// @return  string     new_date --- Mon, 17. Jun 2002 - 1117 or Mon 10th of Feb, 2003 - 1430
function format_datedb_date
{
global lang, display_date;

if issetdb_date
{
  if DEBUG echo br Error Date is not set;
  // new_date stays null for empty values in the database
}
else
{
  vlib_lang = substrlang, 0, 2;
  date = new vlibDatevlib_lang;
  old_date = explode , db_date;
  new_date = date-formatDateold_date0, display_date . substrold_date1, 0, 5;
}

return new_date;


/* what happens in this function
*  vlib_lang = substrlang, 0, 2; = vlib_lang = the first 2 chars of every lang
*  variable english en, deutsch de, espanol es, etc.
*  old_date = explode|...|; = old_date0 = 2002-06-17;  old_date1 = 111000;
*  date-formatDateold_date0,|...|; = Mon, 17. Jun 2002 -
*  substrold_date1, 0, 5; = 1117
*/
}
Last Edit: Fri, 04. March 2005 - 08:45:47 by ClausVB

StefanR

  • Guest
vLibDate welches Format muss Zeitstempel haben?
Reply #2 on: Tue, 13. April 2004 - 13:31:16
Hallo,

danke für den Code werde das mal ausprobieren. :)

Gruß

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
vLibDate welches Format muss Zeitstempel haben?
Reply #3 on: Sat, 24. December 2005 - 14:02:56
So geht es übrigens noch schneller:

Code: [Select]
tmpl-setvardate_time, date-formatDate
substrrowdate_time, 0, 10,  %a, %d.%m.%Y
. substrrowdate_time, 11, 8;
;
Frohe Weihnachten
Claus
Last Edit: Sat, 24. December 2005 - 14:03:08 by ClausVB