Существует ли формат даты и времени, который не меняет значение выходной даты?

У меня есть строка в XML, которая представляет собой дату и время с часовым поясом, и я хотел бы изменить ее на формат DateTime в С#.

Проблема в том, что он переходит из строкового формата в формат даты и времени, значение изменяется из-за часового пояса.

Поэтому я хотел бы знать, как изменить строку xml на c# datetime без изменения значения.

Строковое значение xml:

2014-01-01T00:00:00.0000000+02:00

и когда я применяю формат даты и времени, он переходит к:

12/31/2013 10:00:00 PM

Вот мой код С# для преобразования строки в дату и время:

Convert.ToDateTime(datestringXml);

Мне нужно отсортировать дату с помощью функций Max() и Min()

Я ожидаю, что результат будет 01/01/2014... (мне все равно на часы, минуты и секунды)

Взгляните на это

Neijwiert 22.05.2019 14:58

Вы можете разделить xml на + и взять элемент [0] и передать его в свой Convert.ToDateTime оттуда, он просто форматирует строку, чтобы показать "MM/dd/yyyy"(Convert.ToDateTime(yourXMLString.Split('+')[0])).ToString("‌​MM/dd/yyyy");

Charles May 22.05.2019 15:26

Большое спасибо @CharlesMay!! Ваш код решил мои проблемы!

Davon 22.05.2019 22:06
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
3
279
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы видите другую конвертированную дату, потому что в дате начала есть +02:00. Конверсия правильная. Если вам нужны только день, месяц и год, вы можете проанализировать исходную строку и создать новую дату с прочитанными значениями.

Благодарю вас за эту информацию! Теперь я понимаю, почему значение даты изменилось.

Davon 22.05.2019 22:08
Ответ принят как подходящий

Вы используете объект DateTime вместо объекта DateTimeOffset. Часть смещения +02:00 не помещается в объект DateTime, поэтому он вычисляет DateTime для вас. У вас не было бы этой проблемы, если бы вы просто проанализировали значение в объекте DateTimeOffset.

Другие вопросы по теме