2013-06-06 4 views
-3

Можно ли с помощью PHP, чтобы изменить формат этой датыPHP даты

1 январь 1900 12:00 AM

в

01/01/1990

мм/дд/YYY

+1

RTFM (я недавно узнал эту аббревиатуру, и я люблю его ... Это относится и к так много вопросов здесь) – Ethan

+1

Я предполагаю, что вы имеете в виду «1 января 1990 года» в первой строке, а не 1900. – matt

+0

Почему вас интересует этот неуловимый формат даты? Это может ввести в заблуждение читателей. Нельзя сказать точно, находится ли он в формате 'mm/dd/yyyy' или' dd/mm/yyyy'. – Lion

ответ

3

Две функции помогут: strtotime и date.

Так что это:

date("m/d/Y", strtotime("Jan 1 1990 12:00AM")) 
-1

увидеть функцию даты:

//replace the time() with yours 
echo date('m/d/Y', time()); // = 06/06/2013 

руководство: http://php.net/manual/de/function.date.php

+0

, пожалуйста, объясните, пожалуйста, – sjkm

+0

Я не спустил вниз, но я предполагаю, что это потому, что вы фактически не принимали дату ввода и не разбирали ее. У вас просто не был выходной формат. – matt

0

strtotime и strftime являются самыми простыми в работе.

$stamp = strtotime('Jan 1 1900 12:00AM'); 
echo strftime("%m/%d/%G", $stamp); 

См the full strftime documentation Для вывода даты в любом формате.

0

Нет, поскольку 1 января 1900 года 1200AM никогда не будет равняться 01.01.1990. Проверьте год. Но если вы хотите простой, что для преобразования строки времени попробовать это:

<?php 
$d = 'Jan 1, 1900 12:00AM'; 
echo date("m/d/y",strtotime($d)); 
?> 

я бы передать это в функции первого, что удалили элемент времени, а затем преобразует только часть данных.

1

See PHP's excellent DateTime classes: -

$date = DateTime::createFromFormat('M d Y H:ia', 'Jan 1 1900 12:00AM'); 
echo $date->format('m/d/Y'); 

Или, если вы являетесь поклонником лайнеры: -

echo DateTime::createFromFormat('M d Y H:ia', 'Jan 1 1900 12:00AM')->format('m/d/Y'); 
+0

Я никогда не знал о 'DateTime :: createFromFormat' ... определенно будет использовать это в будущем. – Ethan

+0

@Ethan Как только вы начнете использовать эти классы, вы поймете, насколько они сильны. Они делают [казалось бы сложные проблемы] (http://stackoverflow.com/q/16712277/212940) внезапно [очень просто] (http://stackoverflow.com/a/16712661/212940). – vascowhite

+0

Я использовал DateTime раньше, просто никогда не использовал этот метод. Любая идея, если есть более простой способ сделать то, что я сделал [здесь] (https://gist.github.com/etaubman/5609636)? – Ethan