Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > date в прошлом =) |
Автор: DenWPF 13.2.2010, 13:17 |
Как достать время вчерашнее. date("d/m/Y") - выдает какой сегодня день\месяц\год а мне надо что бы выдало день-1\месяц\год |
Автор: Ипатьев 13.2.2010, 13:35 |
нужно прочитать документацию на эту функцию. Добавлено через 37 секунд это очень несложно. набрать в браузере php.net/date гораздо быстрее, чем писать на форум |
Автор: GZep 13.2.2010, 13:47 | ||
вроде так
но, вроде, 1-го января каждого года работать не будет... |
Автор: segrey 13.2.2010, 14:00 | ||
|
Автор: ksnk 13.2.2010, 14:12 | ||
Добавлено через 1 минуту и 40 секунд опоздал ... ![]() |
Автор: NLspieler 13.2.2010, 14:16 | ||
Вы уверены? |
Автор: segrey 13.2.2010, 15:10 | ||||||
будет косяк с переходом на новое время
|
Автор: DenWPF 13.2.2010, 16:02 |
Всем спасибо |
Автор: GZep 13.2.2010, 21:04 |
к сожалению не уверен. ![]() ![]() |
Автор: DenWPF 14.2.2010, 00:59 |
блин..эти даты.. есть 3 типа даты..как их перевести в нужный формат? 07-Mar-2011 07-02-2011 07.02.2011 |
Автор: Fortop 14.2.2010, 10:53 |
http://php.net/datetime |
Автор: Ипатьев 14.2.2010, 11:24 |
не, ну тут, скорее, надо руками разбирать |
Автор: Fortop 14.2.2010, 12:07 |
1я 100% парсится автоматом. следующие два формата могут быть проблемы, хотя конкретно эти две даты корректно отпарсились. |
Автор: DenWPF 14.2.2010, 12:50 |
date_parse - всё отлично |
Автор: Fortop 14.2.2010, 12:55 |
На всякий случай рекомендую всегда пользоваться ISO 8601:2004 и заставлять пользователей вводить дату именно в таком формате yyyy-mm-dd Читается всеми, понимается всеми. |
Автор: DenWPF 14.2.2010, 15:46 |
я привык ровно на оборот. |
Автор: Fortop 14.2.2010, 16:22 |
Продемонстрируй-ка сортировку по дате в формате "ровно на оборот". |
Автор: IgorIV 14.2.2010, 16:43 |
Fortop, вопрос не в том делать сортировку по дате, а в том, что такой формат даты не по-русски. И он весьма непривычный. Сам посмотри на дату своей регистрации, дату поста. |
Автор: DenWPF 14.2.2010, 17:37 |
блин, какая лажа с этими датами. date_parse - отработал нормально..но сохраняет в виде 1.2.2010 а мне нужно что бы с нулями было. в ручную не прет это переделываит..есть функция? |
Автор: DenWPF 14.2.2010, 17:56 |
если бы вдуплил его... date_parse вообще по нему не чего не нашел=( |
Автор: IgorIV 14.2.2010, 18:37 | ||||||||
Fortop, ??? http://www.gost.ru/wps/portal/ Сайт Федерального агентства. Значит всё должно быть по Госту. Смотрим страницу.
Почему не по Госту? Может потому как
И требовать от пользователей вводить дату именно в этом формате весьма абсурдно. Вот получив от пользователя дату в любом формате можно (нужно) преобразовать её именно в тот формат о каком и говорите. |
Автор: DenWPF 14.2.2010, 18:45 |
да-да...вот как это сделать?0)) |
Автор: Fortop 14.2.2010, 19:00 | ||
Да ну? А по какому? Ваша наивность меня вдохновляет.
Точно можно? Ну преобразуйте 10/11/09 А вот еще 11/27/09 |
Автор: DenWPF 14.2.2010, 19:13 |
нет нет )) лушче 07-Mar-2011 07-02-2011 07.02.2011 и что бы с 0 было. |
Автор: IgorIV 14.2.2010, 21:29 | ||
По вышеприведенному - ГОСТ 7.64-90 Fortop, а смысл? ![]() http://yandex.ru/search/advanced? На дату идут 3 переменные. Как хочешь, так и комбинируешь. За сим прекращаю спорить с проффессионалом. ![]() |
Автор: sTa1kEr 14.2.2010, 22:11 | ||||
http://php.net/strtotime http://php.net/date
Лучше выводить пользователю какой-нибудь http://jqueryui.com/demos/datepicker/#localization или в крайнем случае комбобоксы. А внутри скрипта однозначно лучше использовать unix timestamp. Для вывода даты лучше позволить пользователю самому выбрать предпочитаемый формат и/или выбирать формат в зависимости от локали пользователя. Кстати, ISO 8601, имхо, удобный и привычный формат только для программистов. Добавлено @ 22:20
|
Автор: IgorIV 14.2.2010, 22:46 | ||
2009-02-07 2009-11-27 2009-11-10 1970-01-01 По последнему примеру вроде как должно работать так, но в 5.3 date_parse_from_format("d.m.y", $date) |
Автор: Fortop 14.2.2010, 23:48 | ||||
Это удобно в единичных регистрациях. Но когда у тебя идут в набор платежные документы/акты/договора, то тыкать в календарик или бегать по комбобоксам - мягко говоря неудобно. Нужно максимум клавиатурных и автоматических переходов по полям (без мышки). В сочетании с печатью вслепую 500-700 первичных документов в день одним операционистом далеко не предел. (мой личный рекорд 15ти-летней давности 450 документов за 3 часа)
Ты ошибаешься - любая фин/стат-отчетность(да и вообще везде, где идет много дат) в разрезе дней много удобнее именно в таком формате. Чудно, вот и получите граблями по лбу. Поскольку даты были 27 ноября 2009 года и 10 ноября 2009 года (а могло быть и 11 октября 2009 года ), только одну дату я взял с факса из США, вторую из Франции. И как бы вы ни шаманили - угадать что пользователь подразумевал под 10/11/09 Вам не под силу. А так - да преобразовывайте.... до позеленения.... Поэтому повторюсь еще раз - принимайте дату от пользователя в одном единственном формате (наоболее оптимальным для этого является ISO 8601) Выводить дату можете как хотите, но смысла в различных версиях формата 0, пока вы не начнете выводить дату словами. Да и выводить лучше в том формате в котором принимаете, дабы не создавать путаницы. |
Автор: sTa1kEr 15.2.2010, 00:59 | ||||
Ну так для бухгалтеров, которые имеют дела с документами/актами/договорами и создавайте системы с тестовыми полями для дат. А обычных пользователей, которым необходима единичная регистрация, не надо заставлять вводить даты в текстовые поля, да и еще и в формате не соответствующим их локали. |