2009-09-25 3 views
1

Как разбирать строку даты в произвольном заданном формате даты Oracle в C#?C# Как провести синтаксический анализ строки даты в произвольном заданном формате даты Oracle?

Итак ... строка формата oracle немного отличается от строки формата даты в формате C#, поэтому я не могу использовать эту форматированную строку в качестве аргумента для синтаксического анализа. Я использую Devart/CoreLab, но их OracleDate.Parse кажется действительно странным и не работает для меня. Как я могу разобрать его правильно? Должен ли я вызывать запрос в db с TO_DATE/TO_CHAR, чтобы получить преобразование? Или что мне нужно сопоставить каждый строковый элемент формата oracle в строковый элемент формата C#?

редактировать: И формат строка из Oracle и C# различны, например, MON вместо МММ ...

edit2: дополнительные разъяснения: В принципе я бы строки, которые являются оракул-дата-в-строки , например «08-OCT-85», и я также могу получить шаблон формата оракула, следующий за строкой даты, например «DD-MON-YY», «DD-MON-RR», «YYYY/RM/DD» "... и т. д.

Я хотел бы иметь возможность правильно анализировать их в C# DateTime, чтобы я мог установить их в Параметр (который ожидает C# DateTime), и проблема заключается в этом шаблоне oracle-date-format-pattern это не то же самое, что у C# DateTime-parse-format-pattern.

Я подозреваю, где-то там может существовать некоторые функции, которые могут сделать что-то вроде DateTime дт = ParseDatestringWithSpecifiedOracleDatePatternIntoCSharpDateTime («08-октября-85», «DD-MON-YY);? Право Но я не могу найти его пока :(

+0

являются ваше чтение из Orcale или письмо на него? Или Оба? –

+0

Оба: | (необходимо 15 символов) – Led

+0

@Led: не могли бы вы уточнить свой вопрос, пожалуйста ... –

ответ

1

Не могли бы вы использовать DateTime.TryParseExact() с заданной строкой формата?

+0

Но строка формата - это строка формата Oracle, а не C#, такая как MON вместо MMM ... – Led

2

DateTime.TryParseExact позволяет делать передать строку формата точно определить формат (или массив форматов, чтобы попытаться в свою очередь).

+0

Вот что я хотел сказать, поэтому проголосовал за вас! –

+0

Но строка формата является строкой формата Oracle not C#, такой как MON вместо MMM ... – Led

+0

Вам нужно перевести строку формата из синтаксиса форматирования Oracle в .NET. С рекомендациями Oracle и .NET, которые должны быть легкими (и, при необходимости, должны быть автоматизированы). – Richard

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