Forum Discussion

MarkJFine's avatar
MarkJFine
Professor
8 years ago

Spot the rookie error

Europe changed time at 2am this weekend (we do the same next weekend). But a PHP script routine that I run on a US server to detect time changes in London was broke. I've already fixed it, but who else can find the problem (sometimes I'm such a dummy)...

 

date_default_timezone_set('UTC');

$time_adj = strtotime("now") - strtotime("Europe/London");
if ($time_adj = 3600) {
    $time_lbl = 'BST';
} else {
    $time_lbl = 'GMT';
}

  • Hi Mark,

     

    I don't do PHP so I'm just shooting in the dark but to have some fun with it my guess is it should be 

     

    =>

    Don  :)

    • MarkJFine's avatar
      MarkJFine
      Professor

      Close...

       

      In the line: if ($time_adj = 3600) {

      =     (single '=') just assigns 3600 to $time_adj and the 'if' always evaluates true because 3600 is greater than 0, so it's always BST (D'oh). It should have been:

      ==   (double '=') which actually tests whether $time_adj is equal to 3600 (3600 sec = 1 hr), meaning the difference between current London time and UTC is 1 hr, or BST. Otherwise the difference would be zero, or UTC/GMT.

       

      Stupid thing gets me every time, just like remembering to end a line with a semi-colon.

      • donsjgm's avatar
        donsjgm
        Junior

        Well I had the right line.

        I knew that the single '=' was the problem but wasn't sure how to implement the test.

        Like I said, "it was just for fun" and I came close.

        I've been fighting with a property list (plist) to make a Mac update during bonus hours.

        There's been several ppl who have asked how.

        I can't seem to find the 'bug' and it may be OS version specific. So far idk.

         

        It's something like this:

         

        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
        <plist version="1.0">
        <dict>
            <key>Label</key>
            <string>YourMac.name.here.SftwrUpdt</string>
            <key>ProgramArguments</key>
            <array>
                <string>softwareupdate</string>
        <string>--Download</string>
        <string>--All</string>        
            </array>
            <key>StartCalendarInterval</key>
            <dict>
                <key>Hour</key>
                <integer>02</integer>
        <key>Minute</key>
                <integer>00</integer>

            </dict>
            <key>StandardErrorPath</key>
            <string>/Users/donsjgm/Library/Application\ Support</string>
            <key>ProductPaths</key>
            <string>/Users/donsjgm/Library/Application\ Support</string>
        </dict>
        </plist>