Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:62838 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 35343 invoked from network); 5 Sep 2012 15:27:46 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Sep 2012 15:27:46 -0000 Authentication-Results: pb1.pair.com header.from=lester@lsces.co.uk; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=lester@lsces.co.uk; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lsces.co.uk from 213.123.20.125 cause and error) X-PHP-List-Original-Sender: lester@lsces.co.uk X-Host-Fingerprint: 213.123.20.125 c2bthomr07.btconnect.com Received: from [213.123.20.125] ([213.123.20.125:11464] helo=mail.btconnect.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E1/C6-12568-07F67405 for ; Wed, 05 Sep 2012 11:27:45 -0400 Received: from host81-138-11-136.in-addr.btopenworld.com (EHLO _10.0.0.5_) ([81.138.11.136]) by c2bthomr07.btconnect.com with ESMTP id JBZ48346; Wed, 05 Sep 2012 16:27:41 +0100 (BST) Message-ID: <50476F68.4070902@lsces.co.uk> Date: Wed, 05 Sep 2012 16:27:36 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120604 Firefox/13.0 SeaMonkey/2.10 MIME-Version: 1.0 To: PHP internals References: <5043C3E9.2010105@ajf.me> <5043C5AF.3060701@ajf.me> <5043C74C.8020400@ajf.me> <5043D8C0.3020802@lsces.co.uk> <5044A261.10901@lsces.co.uk> <504709CE.1000004@lsces.co.uk> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mirapoint-IP-Reputation: reputation=Fail, source=NONE, refid=n/a, actions=MAILHURDLE TAG X-Junkmail-Premium-Raw: score=7/50, refid=2.7.2:2012.9.5.145718:17:7.944, ip=81.138.11.136, rules=__MOZILLA_MSGID, __HAS_MSGID, __SANE_MSGID, __HAS_FROM, __USER_AGENT, __MIME_VERSION, __TO_MALFORMED_2, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __CT, __CT_TEXT_PLAIN, __CTE, __ANY_URI, __URI_NO_WWW, __CP_URI_IN_BODY, BODY_ENDS_IN_URL, BODY_SIZE_3000_3999, __MIME_TEXT_ONLY, RDNS_GENERIC_POOLED, HTML_00_01, HTML_00_10, BODY_SIZE_5000_LESS, RDNS_SUSP_GENERIC, RDNS_SUSP, BODY_SIZE_7000_LESS X-Junkmail-Status: score=10/50, host=c2bthomr07.btconnect.com X-Junkmail-Signature-Raw: score=unknown, refid=str=0001.0A0B020A.50476F6D.01C1:SCFSTAT14830815,ss=1,re=-4.000,fgs=0, ip=0.0.0.0, so=2011-07-25 19:15:43, dmn=2011-05-27 18:58:46, mode=multiengine X-Junkmail-IWF: false Subject: Re: [PHP-DEV] RFC for Adding __toString to DateTime From: lester@lsces.co.uk (Lester Caine) Will Fitch wrote: > > On Wed, Sep 5, 2012 at 4:14 AM, Lester Caine > wrote: > > Will Fitch wrote: > > Hi, Lester - I'll update the patch and RFC to include this format. This > is the > format I'll use unless others have a better approach: > > 2012-09-01T00:00:00-0500 (America/Chicago) > > Just working through another backlog of 'todo' items. > > Your current RFC includes -0500 in the examples, but that is purely due to > your own setup. This is the real problem here since you can't take a > date/time string and clone a new object. You have to define a DateTimeZone > object prior to creating the DaTime object. You have 'America/Chicago' set > as your default timezone, and that is fine for your local working, but part > of Derick's objection is that how this all hangs together is always a two > stage process. > > Now if you can make the above string clone a matching DateTime/DateTimeZone > object pair, then part of the objection would go, but *I* would still object > to any default here since it's just as likely you want to leave the timezone > off and handle it separately as include it in an output string. > > Also it is worth noting that DateTime::__construct specifically ignores the > $timezone parameter when the date string includes an offset! This may well > be considered a bug and perhaps $timezone parameter should take priority, > but it's all these little things that get missed when one 'just fills in a > missing function' ... someone just taking the default string and trying to > create a new date object for a different timezone might get caught out, so > that particular point should be included in any documentation. Actually > currently the returned string would not work anyway? > > The format being suggested (ISO8601 + TZ name) won't work without addressing the > concern you mentioned as well as correctly parsing the TZ name. > > The RFC is 'needs more work' but I still feel that adding this 'shortcut' > will create more problems than it will provide any benefit. > > I'm currently working on revamping the RFC and offering up two separate > solutions. You are right that it's going to be difficult to please everyone, > but I do want a solution that can be acceptable to most. If that ends up being > no solution at all, so be it. I do believe through enough conversation and > potentially adjusting DateTime's current behavior (e.g. the TZ point you brought > up), a solution can be reached. > > It's important to keep one of Derick's points in mind as well - > https://wiki.php.net/rfc/datetime_and_daylight_saving_time. That is actually part of the reason all my internal processing is only ever UTC. so I only use the timezone to display data so does not affect you on that side. However I know that there is a black hole if someone does try and enter a date and time in that 1 hour missing window :) -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk