Your browser does not seem to support CSS. If images appear below, please disregard them.
Topic Options
Rate This Topic
#19240 - 09/04/05 09:42 PM PHP - Replacing output format of date...
Joined: Feb 2002
Posts: 7,195
Gremelin Offline
Community Owner
Gremelin Offline

Community Owner

Joined: Feb 2002
Posts: 7,195
Portland, OR; USA
Ok, I'm trying to code up an RSS2.0 output of the news that's displayed on the main page... I've got about 99% of everything done however I've run into a snag...

The UBB stores dates (presantly) as (08-31-2005 05:54 AM):
Code:
Date("m-d-Y h:i A");
However RSS2.0 specs declare that the date MUST be (Sun, 04 Sep 2005 07:42:38 PDT):
Code:
Date("D, d M Y H:i:s T");
Now, to tinker with the code to change how the date is displayed will effectively screw things up all over the site, so my PHP file will have to change the date format based on the date in the string "$postdate"...

Any ideas?


Donate to UGN Security here.
UGN Security, Back of the Web, and VNC Web Services Owner
Top
Sponsored Links
#19241 - 09/06/05 03:21 PM Re: PHP - Replacing output format of date...
Joined: Dec 2002
Posts: 3,255
§intå× Offline
§intå× Offline



Joined: Dec 2002
Posts: 3,255
Maryland
Why not just create a second variable in UBB?

when the call for $postdate("m-d-Y h:i A"); is made
doe a second call to $postdate2("D, d M Y H:i:s T"); Then pass postdate2 to PHP RSS2.0 script.


My New site OpenEyes
Top
#19242 - 09/07/05 05:20 AM Re: PHP - Replacing output format of date...
Joined: Feb 2002
Posts: 7,195
Gremelin Offline
Community Owner
Gremelin Offline

Community Owner

Joined: Feb 2002
Posts: 7,195
Portland, OR; USA
Becuase I have no control over the output of the date; I was simply posting what format the date was in...

The $postdate is calling the date from the ubb thread files which are stored in plain text.


Donate to UGN Security here.
UGN Security, Back of the Web, and VNC Web Services Owner
Top
#19243 - 09/08/05 12:15 AM Re: PHP - Replacing output format of date...
Joined: Dec 2002
Posts: 3,255
§intå× Offline
§intå× Offline



Joined: Dec 2002
Posts: 3,255
Maryland
There should still be some perl code that create the flat file. But if not. Maybe mktime()

Thing is you would have to split(); it several ways to break out the variables from the first timestamp

http://us2.php.net/manual/en/function.split.php

$this_date = "$postdate";// date will be in this format m-d-Y h:i A

Code:
$split1 = split("-:",$postdate);

/*this leaves us with this array
array(
   [0] => "M"
   [1] => "d"
   [2] => "Y "
   [3] => "h"
   [4] => "i A"
);
*/ 
so we could then trim $split1[2] and split $split1[4].
Code:
$split2 = trim($split[2]);
$split3 = split(" ", $split[4]);

//now this is a pain in the ass...
/*
$split[0] is month
$split[1] is day
$split2 is year
$split1[3] is hour
$split3[0] is minutes
$split3[1] Ante meridiem and Post meridiem
*/
Now where you get s and T Seconds, with leading zeros and Timezone setting of the machine....

I guess you could default seconds to 00, and timezone is eazy enough.

Now then, mktime()... I hate time by the way...

Real quick summary of mktime
Code:
mktime(hour, minute, second, month, day, year);
Now what we can do is this
Code:
$My_new_date = date("D, d M Y H:i:s T", mktime($split1[3], $split3[0], 00, $split[0], $split[1], $split2));
That should work, I am not 100% on syntax I am sure, you might have to play with quotes around the array values.


My New site OpenEyes
Top
#19244 - 09/09/05 01:10 AM Re: PHP - Replacing output format of date...
Joined: Dec 2002
Posts: 3,255
§intå× Offline
§intå× Offline



Joined: Dec 2002
Posts: 3,255
Maryland
so did this help?


My New site OpenEyes
Top
#19245 - 09/09/05 02:17 AM Re: PHP - Replacing output format of date...
Joined: Feb 2002
Posts: 7,195
Gremelin Offline
Community Owner
Gremelin Offline

Community Owner

Joined: Feb 2002
Posts: 7,195
Portland, OR; USA
I got a lil ill last night so i didn't get a chance to apply it; i'll work on trying it tonight if i feel better.


Donate to UGN Security here.
UGN Security, Back of the Web, and VNC Web Services Owner
Top
#19246 - 09/14/05 01:11 PM Re: PHP - Replacing output format of date...
Joined: Feb 2002
Posts: 7,195
Gremelin Offline
Community Owner
Gremelin Offline

Community Owner

Joined: Feb 2002
Posts: 7,195
Portland, OR; USA
It's reading the date off still; I'm getting:
Wed, 31 Dec 1969 15:59:59 PST

Instead of:
Tue, 30 Aug 2005 09:54:00 PST


Donate to UGN Security here.
UGN Security, Back of the Web, and VNC Web Services Owner
Top
#19247 - 09/15/05 02:48 AM Re: PHP - Replacing output format of date...
Joined: Dec 2002
Posts: 3,255
§intå× Offline
§intå× Offline



Joined: Dec 2002
Posts: 3,255
Maryland
hmmmm... So you are getting some corupt unix epoch...

let me think on it, email me the code you have.

Segments please, no big ass page of code.

Oh did I mention I hate time coding? This shit is soooo tedious and difficult.


My New site OpenEyes
Top
#19248 - 09/15/05 08:17 AM Re: PHP - Replacing output format of date...
Joined: Feb 2002
Posts: 7,195
Gremelin Offline
Community Owner
Gremelin Offline

Community Owner

Joined: Feb 2002
Posts: 7,195
Portland, OR; USA
to get the relay (do tests) you'd have to have shell access; do you still have it?


Donate to UGN Security here.
UGN Security, Back of the Web, and VNC Web Services Owner
Top
#19249 - 09/15/05 09:05 AM Re: PHP - Replacing output format of date...
Joined: Feb 2002
Posts: 7,195
Gremelin Offline
Community Owner
Gremelin Offline

Community Owner

Joined: Feb 2002
Posts: 7,195
Portland, OR; USA
ok, literally, the incoming date/time are basically $postdate and $posttime when parsed from the forum; these two variables will come as:

$postdate = 08-31-2005
$posttime = 05:54 AM


Donate to UGN Security here.
UGN Security, Back of the Web, and VNC Web Services Owner
Top
#19250 - 09/16/05 09:14 PM Re: PHP - Replacing output format of date...
Joined: Sep 2005
Posts: 6
Ron M Offline
Junior Member
Ron M Offline
Junior Member

Joined: Sep 2005
Posts: 6
Des Moines, IA
Hey Gizzy, I might be able to scrounge some debugging time up this weekend.

Judging by the input time, I'm guessing the logic is trying to do epoch -7 hours.

If you are using Ian's code
Code:
$date = date( "D, d M Y H:i:s T" , strtotime( convert_date( $day . ' ' . $hour ) ));
you are only sending the day and hour to the script be processed. The Date is nowhere to be found in the convert_date.


STOP 0x9452356 - SIGNATURE_NOT_AVAILABLE
Top
#19251 - 09/16/05 10:11 PM Re: PHP - Replacing output format of date...
Joined: Feb 2002
Posts: 7,195
Gremelin Offline
Community Owner
Gremelin Offline

Community Owner

Joined: Feb 2002
Posts: 7,195
Portland, OR; USA
I was trying to use ian's function/code but it got all sorts of wacky lol... What I have thus far is dirty as hell lol, wanna get it to work before trying to clean house and all ...


Donate to UGN Security here.
UGN Security, Back of the Web, and VNC Web Services Owner
Top
#19252 - 09/16/05 11:05 PM Re: PHP - Replacing output format of date...
Joined: Sep 2005
Posts: 6
Ron M Offline
Junior Member
Ron M Offline
Junior Member

Joined: Sep 2005
Posts: 6
Des Moines, IA
Here's a snippet of code that I tried and it is practically working:

Code:
<?

$postdate = "08-31-2005";
$posttime = "05:54 AM";

$pd_array = explode("-",$postdate);
$pt_array = split('[ :]',$posttime);
if ($pt_array[2] == "PM") {
	$pt_array[0] += 12;
}

$display2 = date("D, d M Y H:i:s T",mktime($pt_array[0], $pt_array[1], 0, $pd_array[0], $pd_array[1], $pd_array[2]));

echo $display2;

?>


STOP 0x9452356 - SIGNATURE_NOT_AVAILABLE
Top
#19253 - 09/17/05 03:44 AM Re: PHP - Replacing output format of date...
Joined: Feb 2002
Posts: 7,195
Gremelin Offline
Community Owner
Gremelin Offline

Community Owner

Joined: Feb 2002
Posts: 7,195
Portland, OR; USA
Hey ron, quick question; what time is it when it's 12:30pm ...

What I've got so far is here but we're still getting the date read wierd (time anyway); the original forum is here

I can get the blasted date to work, but the damned time...


Donate to UGN Security here.
UGN Security, Back of the Web, and VNC Web Services Owner
Top
#19254 - 09/19/05 08:30 PM Re: PHP - Replacing output format of date...
Joined: Sep 2005
Posts: 6
Ron M Offline
Junior Member
Ron M Offline
Junior Member

Joined: Sep 2005
Posts: 6
Des Moines, IA
Oooops....

Code:
<?

$postdate = "08-31-2005";
$posttime = "05:54 AM";

$pd_array = explode("-",$postdate);
$pt_array = split('[ :]',$posttime);
if ($pt_array[2] == "PM" && $pt_array[2] != 12) {
	$pt_array[0] += 12;
}

$display2 = date("D, d M Y H:i:s T",mktime($pt_array[0], $pt_array[1], 0, $pd_array[0], $pd_array[1], $pd_array[2]));

echo $display2;

?>
If you pass $posttime and $postdate to my code, it *should* work correctly. The time zone might be off if you have anything in $FudgedOffset.


STOP 0x9452356 - SIGNATURE_NOT_AVAILABLE
Top
#19255 - 09/22/05 03:17 AM Re: PHP - Replacing output format of date...
Joined: Dec 2002
Posts: 3,255
§intå× Offline
§intå× Offline



Joined: Dec 2002
Posts: 3,255
Maryland
Bah I was on the right track sort of. I swear I hate time. Isn't there a way to conver to the UNIX epoch? Then you could just do the math in a function to create the date again however you wanted. Ganted that is a pain in the ass and takes a bit of thought with leap year, day light savings time and all that happy horse shit.

Hey Ron M how does your script stand up against oddities like that?


My New site OpenEyes
Top

Member Spotlight
Gremelin

Gremelin
Portland, OR; USA
Posts: 7,195
Joined: February 2002
Show All Member Profiles 
Sponsored Links
Forum Statistics
Forums46
Topics46,497
Posts81,667
Members2,157
Most Online1,567
Apr 25th, 2010
Latest Postings
Top Posters(All Time)
UGN Security 39,661
Gremelin 7,195
§intå× 3,255
SilentRage 1,273
Ice 1,146
pergesu 1,136
Infinite 1,041
jonconley 955
Girlie 908
unreal 860