2016-09-09 2 views
1

MySQL хранит даты в цифровом формате yyyy-mm-dd.Изменения ввода даты ввода (PHP/MySQL)

мне нужны даты, чтобы напомнить в формате парование% d% B% Y т.е. 6 сентября 2016

То, что я пытаюсь думать о том, как обращаться в том, как убедиться, что если дата вводится что это правильно разместите в правильном формате в MySQL

поэтому, если данные введены в любом формате, они записаны правильно в базе данных SQL.

Например, американские пользователи по умолчанию вводят даты 9/6/2016, хотя наш формат должен быть 9 сентября 2016 года. Кажется, что MySQL не обрабатывает числовые вариации, как я и надеялся.

Каков наилучший/эффективный способ справиться с этим сокращением с помощью инструмента выбора календаря?

+1

посмотреть в использовании [STR_TO_DATE] (https://www.techonthenet.com/mysql/functions/str_to_date.php). Источник ввода даты (например, datepicker) не имеет ничего общего с реальной проблемой MySQL. –

+0

Этот ответ может быть полезен: http://stackoverflow.com/questions/15327726/how-to-change-date-format-according-to-the-country – kdvy

ответ

0

Вы можете конвертировать PHP в MySQL следующим образом:

$date = date('Y-m-d', strtotime($date)); 

Вы можете конвертировать MySQL в нужный формат, как так:

$date = date('Y F d', strtotime($date)); 

Источник: Дата http://php.net/manual/en/function.date.php

+0

Я использую этот метод, но мне было интересно о идеях чтобы иметь возможность правильно переводить наиболее распространенные форматы ввода даты в MySQL. Прямо сейчас даты являются базовыми поля ввода типа ввода текста. Я раньше не пробовал хром, но я узнал, что хром сообщает вам ввести дату в формате mm-dd-yyyyy. – haightc

+0

Это точный метод, который я использую. – Pachonk

-3

Сохранить как требует базы данных формат. Пока вы хотите показать дату в своем формате. Вы можете использовать функцию PHP StrToTime()

$new_format_date = date('d-m-Y',strtotime($date)); 
+0

Неправильное использование 'strtotime'. Функция ожидает получить строку, содержащую дату-время ('$ time'), и попытается проанализировать этот формат в временную метку Unix относительно временной метки, указанной в' $ now', или текущем времени, если '$ now' не указан: 'int strtotime (string $ time [, int $ now = time()])' –

+0

Можете ли вы поделиться своим кодом, чтобы я попытался вам помочь. – ThaTal

Смежные вопросы