Re: From 24/7/2013 to 2013-07-24
| From: | jomali | Date: | Fri, 26 Jul 2013 20:38:07 +0000 |
| Subject: | Re: From 24/7/2013 to 2013-07-24 | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-321723@lists.php.net to get a copy of this message | ||
On Fri, Jul 26, 2013 at 1:08 PM, Robert Cummings <robert@interjinn.com>wrote:
> On 13-07-26 11:42 AM, jomali wrote:
>
>> On Fri, Jul 26, 2013 at 5:18 AM, Karl-Arne Gjersøyen <karlarneg@gmail.com
>> >wrote:
>>
>> Below is something I try that ofcourse not work because of rsosort.
>>> Here is my code:
>>> -----------------------
>>> $lagret_dato = $_POST['lagret_dato'];
>>> foreach($lagret_dato as $dag){
>>>
>>> $dag = explode("/", $dag);
>>> rsort($dag);
>>> $dag = implode("-", $dag);
>>> var_dump($dag);
>>>
>>> What I want is a way to rewrite contents of a variable like this:
>>>
>>> From 24/7/2013 to 2013-07-24
>>>
>>> Is there a way in PHP to do this?
>>>
>>> Thank you very much.
>>>
>>> Karl
>>>
>>>
>> $conv_date = str_replace('/', '-','24/7/2013');
>> echo date('Y-m-d', strtotime($conv_date));
>> Result: 2013-07-24
>>
>
> It would be better if you reformatted first since this is ambiguous when
> you have the following date:
>
> 6/7/2013
>
> Here's a completely unambiguous solution:
>
> <?php
>
> $old = '24/7/2013';
>
> $paddy = function( $bit ){ return str_pad( $bit, 2, '0', STR_PAD_LEFT
> ); };
> $new = implode( '-', array_map( $paddy, array_reverse( explode( '/',
> $old ) ) ) );
>
> echo $new."\n";
>
> ?>
>
> Cheers,
> Rob.
> --
> E-Mail Disclaimer: Information contained in this message and any
> attached documents is considered confidential and legally protected.
> This message is intended solely for the addressee(s). Disclosure,
> copying, and distribution are prohibited unless authorized.
>
The original question was about reformatting a European (Day/Month/Year)
date. Your solution does not address this problem. Mine assumes the
European date format explicitly.