Имя: Пароль:
IT
 
C#. Как из DateTime конвертировать в TimeSpan?
,
0 batmansoft
 
04.05.14
13:02
Или подскажите пожалуйста, как другим способом красиво ввести значение TimeSpan? Пытаюсь при помощи DateTimePecer, но в классе Convert нет метода для конвертации в TimeSpan
1 iamnub
 
04.05.14
13:24
Ты понмаешь что такое TimeSpan?
2 su_mai
 
04.05.14
13:40
(0) Красиво ввести значение - оригинальная формулировка. Красиво "по Макконелу" или "по Радченко"?
3 skunk
 
04.05.14
14:00
4 Steel_Wheel
 
04.05.14
14:26
Вопрос в тему, как конвертировал  .NET DataTime() в OracleTimeStamp(), чтобы он считался валидным параметром SQL-запроса к Oracle DB?
5 batmansoft
 
04.05.14
14:31
(1) Понимаю, это тип который можно прибавить к DateTime (Почему то сам DateTime нельзя прибавить к DateTime)
6 batmansoft
 
04.05.14
14:32
(3) Спасибо за ссылку, ща сгляну
7 skunk
 
04.05.14
14:34
(5)а что ты хотел бы получить прибавляя "26 июля 1992г." к "27 июля 1992г."
8 batmansoft
 
04.05.14
14:34
Если я правильно понял, то только так: сделать отдельное поле для дней, часов, минут и секунд и по ним уже создать экземпляр TimeSpan, других безгеморройных способов нет?
9 skunk
 
04.05.14
14:36
почему TimeSpan(Int64) можешь создать через 1 параметр
10 batmansoft
 
04.05.14
14:36
(7) 3985 год, 22 февраля, как то так.
11 batmansoft
 
04.05.14
14:37
(9) Но это будет не красиов - то бишь пользователю неудобно вводить число тактов, откуда ему знать, сколько тактов в одном часе или десяти минутах, например?
12 skunk
 
04.05.14
14:46
ну можешь заставить вводить в одно поле по маске кд.кч:км:кс ... ну и сам дальше высчитывать инт64 для TimeSpan(Int64) ... либо распарсивать и инициализировать через TimeSpan(Int32, Int32, Int32, Int32)
13 Steel_Wheel
 
04.05.14
15:13
А про (4) никто не скажет, раз уж вы тут DateTime() мусолите?
14 skunk
 
04.05.14
15:18
(13)у тебя непонятно ... ты про это

to_timestamp('12-01-2012 21:24:00', 'dd-mm-yyyy hh24:mi:ss')
15 Steel_Wheel
 
04.05.14
16:21
(14) Не совсем
...
SELECT * FROM PERSON WHERE PSN_CREATED_DATE >= :createdPrior
...
command.Parameters.Add(":createdPrior", ???)

А вот вместо ??? надо передать переменную. Изначально это DateTime(), но выбрасывается исключение
Exception: Additional information: ORA-00932: inconsistent datatypes: expected TIMESTAMP got NUMBER

Конвертировать в строку тоже пробовал, результат аналогичный
16 ERWINS
 
04.05.14
16:23
command.Parameters.Add("createdPrior", ???)
двоеточие не надо
17 Steel_Wheel
 
04.05.14
16:24
(16) Попробую
18 Steel_Wheel
 
05.05.14
21:35
(16) Попробовал. Параметр можно указывать в методе Add() тремя способами:
- просто имя
- имя с двоеточием спереди
- имя с амперсандом спереди.

При составлении запроса очень важна ОЧЕРЕДНОСТЬ параметров, т.к. они подставляются в порядке вызовов методов Add(). Имена параметров при этом не учитываются.
2 + 2 = 3.9999999999999999999999999999999...