Страницы: 1
RSS
Как можно конвертировать даты из mySQL в читаемые в Excel?
 
Есть дамп БД в формате CSV

В нем есть столбик с датами в формате "1442808787"
Мне нужно получить рядом второй столбик с нормально читаемыми датами вроде "26.01.2018 15:15:23"

Можно ли такое сделать? Спасибо.
 
А при чем тут mySQL если у вас текстовый CSV который был исковеркан при выгрузке?  Если есть хоть малейшее  предположение о примерных дата, то попробуйте помножить  на 10^-6. и сравнит  результат с ожидаемой датой.
Изменено: БМВ - 26.01.2018 15:44:58
По вопросам из тем форума, личку не читаю.
 
Есть подозрение, что приведённая Вами "читаемая дата" не соответствует цифре, указанной выше, так как у меня получилось "21.09.2015 7:13MSK"

Использовал очень странную формулу :
Код
=(((A2/60)/60)/24)+ДАТА(1970;1;1)+(3/24)
Формулу взял с http://www.bellogroupltd.com/excel-tutorials/10-digit-unix-timestamp-to-date-excel-converter-tutoria...


P.S. Пойду-ка я правила перечитаю на всякий случай. Но без ссылки на сторонний ресурс тут никак.
Изменено: Wiss - 26.01.2018 15:49:52
Я не волшебник, я только учусь.
 
Цитата
БМВ написал:
А при чем тут mySQL если у вас текстовый CSV который был исковеркан при выгрузке?
Он не исковеркан, это нормальный формат.  БД на UNIX его конвертируют в такой вид. Вот я и спрашиваю об операции обратной конвертации.
Изменено: Seller - 26.01.2018 15:51:57
 
Нашел решение на форуме
Можно закрыть тему
 
под исковеркан я имел в виду что пред выгрузкой можно было форматировать.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
под исковеркан я имел в виду что пред выгрузкой можно было форматировать.
Это каким образом, интересно?

Кстати, у меня по найденному решению не получается что-то.
Вероятно потому, что там преобразование без учета времени происходит.
А мне нужно вывести со временем.
Использовал формулу =A1/24/3600+"01/01/1970" (Столбец-результат перевел в формат даты и времени.)

Получается какая-то фигня :(
Изменено: Seller - 26.01.2018 16:44:11
 
Цитата
Seller написал:
Это каким образом, интересно?
https://incode.pro/mysql/rabota-s-datami-v-mysql.html
http://webi.ru/webi_articles/8_15_f.html
Изменено: БМВ - 26.01.2018 16:51:57
По вопросам из тем форума, личку не читаю.
 
Спасибо, но это уже из разряда залезть в БД и что-нибудь сломать :)
Такие изменения может позволить себе только архитектор БД, а я просто пользователь.
Мне нужна одна таблица из БД с реальными датами для личной наглядности, и всего-то.
 
Используйте такую формулу: =(A1+("1/1/1970"-"1/1/1900"+1)*86400)/86400
Её можно упростить: =(A1+2209161600)/86400
Здесь 86400 - это количество секунд в одних сутках = 24час*60мин*60сек.
А ДатаВремя в Unix считается и хранится в секундах от "1/1/1970".
Изменено: ZVI - 26.01.2018 23:04:04
 
Цитата
ZVI написал:
=(A1+2209161600)/86400
та це ж
Цитата
Seller написал:
=A1/24/3600+"01/01/1970"
ранее указанное и по какой то причине не подошедшее.
По вопросам из тем форума, личку не читаю.
 
Цитата
Wiss написал:
Есть подозрение, что приведённая Вами "читаемая дата" не соответствует цифре, указанной выше, так как у меня получилось "21.09.2015 7:13MSK"
Так и есть, я от балды взял цифры, но ваша формула все сделал четко.
Гран мерси!
 
Цитата
БМВ написал: та це ж ... ранее указанное и по какой то причине не подошедшее
Уже подошли обе. Ото ж! :)
Изменено: ZVI - 26.01.2018 23:25:56
Страницы: 1
Читают тему
Наверх