Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конвертация времени, в десятичный формат и обратно 
V
    Опции темы
igorold
Дата 16.4.2007, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



необходимо по алгоритму хранить в базе 2 времени : 
одно в десятичном формате - 2,5 часа 
другое в формате TIME: 2:30
 и необходимо конвертировать время
иногда в десятичный формат, иногда наоборот ... поискрм ничего не нашел ... может не умею
пользоваться поиском ...

какие есть наработки???   smile 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
SergeBS
Дата 17.4.2007, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 2
Всего: 22



igorold, 
Нет таких форматов у сервера. Вот и все наработки. Хочешь хранить в извращенном виде - придумывай свое извращенное поле и храни в нем как хочешь.
PM MAIL   Вверх
igorold
Дата 17.4.2007, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



Цитата(SergeBS @ 17.4.2007,  07:26)
igorold, 
Нет таких форматов у сервера. Вот и все наработки. Хочешь хранить в извращенном виде - придумывай свое извращенное поле и храни в нем как хочешь.

такой "извращенный" вид требуется различным службам ... одни используют десятичный формат,
другие - классический ... при создании записи - эти поля должны иметь одинаковое
значение, но при правке они потом могут различаться ... 

от вас не требовалось дать характеристику задаче - изврат или нет ... ваше личное мнение - оно ваше личное и не более ...
а если есть математическая или если хотите - программистская задача ... то ее надо решать ... 
рациональное зерно я в вашем ответе откопал ... спасибо за него ...  smile 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Glip
Дата 17.4.2007, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 3
Всего: 18



я думаю что хранить надо в формате time поддерживаемом субд, а преобразование делать в клиентской программе. это всего-лишь способ отображения данных


--------------------
user posted image
PM MAIL   Вверх
igorold
Дата 17.4.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



Цитата(Glip @ 17.4.2007,  10:35)
я думаю что хранить надо в формате time поддерживаемом субд, а преобразование делать в клиентской программе. это всего-лишь способ отображения данных

согласен  smile  ...MySQL поддерживает оба формата ... я думал, может есть СТАНДАРТНАЯ функция перевода необходимых мне формата
одного в другой  ... 
В таком случае хранить лучше в одном формате ... уже храняться у меня оба поля в десятичном формате ... так и оставлю....
тем более в форуме Perl мне подкинули готовое решение для конвертации ... 

У меня скрипт на перл+MySQL+темплайт-шаблоны .... в шаблоны буду передавать в каком виде надо ... просто большой 
массив сразу в форму не передашь - предварительно придется конвертить время в каждой записи ... 
а хотелось все в одном запросе ... значит не судьба ...  smile 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
SergeBS
Дата 17.4.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 2
Всего: 22



igorold, 
Ну ладно, не понравилось слово извращенный - заменю на странный smile. Потому что если применять правильный формат (поле/переменная именно типа даты/времени), то ничего преобразовывать в какие-то странные форматы не придется. Все и так будет работать.
Останется только задача вывода (на экран/на печать) в желаемом формате. Это задача - клиентского приложения. Т.е. - не нужно заставлять сервер заниматься НЕНУЖНОЙ работой.

Цитата
уже храняться у меня оба поля в десятичном формате 

Сочувствую. Изрядное количество людей тоже путают формат хранения с форматом ввода/вывода/отображения. Но надеюсь, что тип поля все-таки DateTime.
PM MAIL   Вверх
igorold
Дата 17.4.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: 5
Всего: 17



нет, формат самый, что ни на есть float ... такова была изначально постановка задачи, потому что время измеряется в ДАННОЙ КОНКРЕТНОЙ задаче без секунд и с одним знаком после запятой -  2,5 ... 2 ... 18 ... 1,4 ... потом суммарное время умножается на цену часа и получается сумма ... которая тоже в формате float ... 

умножте время на число, что у ВАС получиться, уважаемый SergeBS ???

извращений и странностей до сих пор не могу найти ... для меня важнее - реализуема какая-то задача или нет и я всегда пытаюсь ее решить без навешивания ярлычков ... я математик, а не психолог ... 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
SergeBS
Дата 17.4.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 2
Всего: 22



igorold, 
Цитата
умножте время на число, что у ВАС получиться, уважаемый SergeBS ???
я математик, а не психолог ...  

Ну а я программист. При умножении у меня получится то что я захочу. Как правило получается время. Но могу и число получить. Нет проблем. Просто 
Цитата
время измеряется в ДАННОЙ КОНКРЕТНОЙ задаче без секунд и с одним знаком после запятой -  2,5 ... 2 ... 18 ... 1,4 ... потом суммарное время умножается на цену часа и получается сумма ... которая тоже в формате float ... 

Имеем в результате - вместо 1 приведения к формату времени при вводе данных
(измерение и ввод данных в СУБД - это две большие разницы):
1. Шаманство с ценой часа.
2. Шаманство с выводом в нужном формате.
3. Шаманство с хранением.
Как программист я без криков просто советую, как делать по правилам. Не хотите - как хотите. Продолжайте делать как нравится. Но не надо меня убеждать, что иначе невозможно, а тем более - что иначе - неправильно.
В чем проблема? На что обида? Я Вас ни к чему не принуждаю, право слово. Просто попытался подсказать, как можно обойти проблему.
PM MAIL   Вверх
sergejzr
Дата 19.4.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Модератор: вырезал "меряние" датами. Плз подобное впредь только в личку 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.