Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

Решил по быстрому   Найти похожие ветки 

 
Jeer ©   (2014-12-03 11:14) [0]

накидать update таблицы в MSSQL 2008 через TADOConnection.
В таблице есть поле: datetime

Долго не думая, влепил через Format("%f",[double(Now)])
Собственно, все сработало, за исключением появления в таблице времени + 2 дня от Now.

Очесал репу, заменил на
Format("%s",[QuotedStr(DateTimeToStr(Now, fsLoc)))]
где в fsLoc: TFormaSettings выставил формат:
   ShortDateFormat := "YYYYMMDD";
   ShortTimeFormat := "hh:mm:ss";
Все пришло в соответствие, но все же потом полез выяснять, что же я забыл..

Ну и да:
Delphi TDateTime 30.12.1899 00:00:00
MSSQL datetime   01.01.1900 00:00:00
Вот они два дня.

Привык, понимешь, к параметрам и AsDateTime :)


 
junglecat ©   (2014-12-03 11:28) [1]

а в чем вопрос?


 
vuk ©   (2014-12-03 11:30) [2]

to Jeer ©   (03.12.14 11:14)

> Долго не думая, влепил через Format("%f",[double(Now)])

getdate() же


 
кгшзх ©   (2014-12-03 12:27) [3]

odbc canonical
yyyy-mm-dd


 
Jeer ©   (2014-12-03 15:46) [4]

>junglecat ©   (03.12.14 11:28) [1]
>а в чем вопрос?

Да нет вопроса. Просто пример, как можно на ровном месте кувыркнуться.

getdate() - это на сервере, а мне клиент был нужен.
Кроме того на клиенте два времени: время создания записи в буферной базе и время update на сервере, т.е. ~ Now.

yyyymmdd - canonical ISO


 
Ega23 ©   (2014-12-03 18:14) [5]

В Delphi за стартовую дату принято 30 декабря 1899. В MSSQL - 01.01.1900
Почему такая странная дата в Delphi - ХЗ.
А в целом - да, юзайте параметры.


 
Ellisium ©   (2014-12-03 19:37) [6]

да какая разница 1899 или 1900, 30 декабря или 1 января, мы же программисты, круглые даты это все условности.


 
Ega23 ©   (2014-12-03 21:47) [7]

Да, конечно, какая разница, в чём этот самый измерять: в вершках, дюймах, сантиметрах или в отвёртках?


 
Ellisium ©   (2014-12-04 09:34) [8]

ну в любом случае чего удивляться, что в базе данных MS SQL и в Delphi нулевая дата отличается. А в Oracle еще другая дата. Unix эпоха еще другая.


 
Кщд ©   (2014-12-04 10:35) [9]

>Ellisium ©   (04.12.14 09:34) [8]
никто, кроме ТС, не удивляется
что сказать-то хотели?


 
junglecat ©   (2014-12-04 10:49) [10]

Старинная легенда гласит:
Началось это с Микрософта, остальные сделали для совместимости.
0 предполагалось в качестве даты-времени старта нового века.
Однако, когда Микрософт приобрел Эксель, нужно было обеспечить совместимость с Лотус 1-2-3. А в Лотус 1-2-3 был баг в отношении 1900 года: оно думало, что это високосный год, в то время как 1900 - не високосный.
Для обеспечения совместимости команда Экселя решила ввести этот баг в Эксель.
Таким образом, чтобы дата не уехала, 0 на самом деле представляет собой 01.01.1900 минус 1 день.


 
Ega23 ©   (2014-12-04 10:52) [11]

Я бы с сотворения мира предпочёл. А то как-то однобоко выходит.


 
Inovet ©   (2014-12-04 16:04) [12]

> [11] Ega23 ©   (04.12.14 10:52)

По этому вопросу тоже разногласия.


 
Ega23 ©   (2014-12-04 16:41) [13]


> По этому вопросу тоже разногласия.


Никаких. Ибо время было сотворено одновременно с миром.


 
Dimka Maslov ©   (2014-12-04 17:46) [14]


> Я бы с сотворения мира предпочёл. А то как-то однобоко выходит.


Боюсь нам тогда 64 бит скоро не хватит. Ведь от сотворения мира прошло порядка 4.3e+17 секунд, а в целое число влезает не более 1.84e+19


 
Inovet ©   (2014-12-04 17:57) [15]

Это смотря у кого. У одних 7000 лет, а у буддистов точно известена длительность одного цикла 311 триллионов 40 миллиардов лет, а вот

В отношении вопроса о том, было ли начало мировых циклов, имеет ли начало сама сансара, буддизм не даёт никакого ответа. Этот вопрос, подобно вопросу о конечности или бесконечности мира, относится к так называемым «неопределённым», «не имеющим ответа» вопросам, по поводу которых Будда хранил «благородное молчание».


 
Inovet ©   (2014-12-04 18:02) [16]

> [15] Inovet ©   (04.12.14 17:57)

https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BB%D1%8C%D0%BF%D0%B0


 
Jeer ©   (2014-12-04 22:33) [17]

Госпидя.. у меня же и спрашивать начинают - в чем вопрос.

Да нет у меня вопросов давно уже ни к кому и даже удивлений тоже нет.

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

На решение ушло мин. 5, потом "освежение" памяти по поводу типа данных.
Иногда что-то вроде "простое" элементарно вылетает из головы, когда уходишь от накатанного и проверенного пути.

В MSSQL давно уже введены новые типы данных ( дата-времени ): datetime2 0001-01-01 00:00:00 ... 9999-12-31 23:59:59.9999999), datetimeoffset, smalldatetime.
Старое же datetime (1753-01-01 00:00:00 ...9999-12-31 23:59:59.997)


 
Ega23 ©   (2014-12-04 22:38) [18]


> datetime2 0001-01-01 00:00:00 ... 9999-12-31 23:59:59.9999999


Няужто дискретизацию в 3 миллисекунды решили???


 
Jeer ©   (2014-12-04 23:03) [19]

Дискретизация это вовсе не слайс времени на платформе.


 
Ega23 ©   (2014-12-04 23:14) [20]

Дискретизация - это то, что раньше в datetime влезало. Округлялось до 0, 3 или 7 миллисекунд, что немудрено, учитывая как это число интерпретировалось.


 
Кщд ©   (2014-12-05 09:38) [21]

>Jeer ©   (04.12.14 22:33) [17]
>Всего лишь, на собственном примере показал, что когда начинаешь решать >что-то по быстрому и в рамках "трафарета" одной среды, то легко ?>спотыкаешься на ровном месте.

что никак не следует из первого поста
недоумение вызвали "откровения" от кэпа


 
Jeer ©   (2014-12-05 11:51) [22]

Удалено модератором


 
Ega23 ©   (2014-12-05 11:53) [23]

Удалено модератором


 
Jeer ©   (2014-12-05 11:56) [24]

Удалено модератором


 
Ega23 ©   (2014-12-05 12:03) [25]

Удалено модератором


 
Кщд ©   (2014-12-05 14:43) [26]

Удалено модератором


 
Ellisium ©   (2014-12-05 18:22) [27]

Удалено модератором


 
Jeer ©   (2014-12-05 19:46) [28]

Удалено модератором


 
KilkennyCat ©   (2014-12-05 23:01) [29]

Удалено модератором


 
Inovet ©   (2014-12-06 00:50) [30]

Удалено модератором



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.061 c
2-1393344362
Антоха
2014-02-25 20:06
2015.09.10
Unable to complete network request to host


15-1415442545
alexdn
2014-11-08 13:29
2015.09.10
Потестировать сайт


2-1392372907
санек
2014-02-14 14:15
2015.09.10
компонент TdateTime


15-1419599048
Maksim_76
2014-12-26 16:04
2015.09.10
LG Караоке- Диск проблема конвертации


15-1414083578
Kerk
2014-10-23 20:59
2015.09.10
Delphi -> Object Pascal





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский