Как удалить часть часового пояса из DateTime, чтобы оставить только локальную часть DateTime? (без разбора строк и манипC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как удалить часть часового пояса из DateTime, чтобы оставить только локальную часть DateTime? (без разбора строк и манип

Сообщение Anonymous »

У меня вопрос, похожий на этот: как удалить часовой пояс из DateTime в .NET Core, но я не хочу использовать какой-либо анализ на основе строк.
По сути, у меня есть события, поступающие из разных мест мира, с их временными метками, собранными с помощью DateTime.Now
Я хочу сообщать о событиях с соответствующими локальными временными метками создания (не utc).
Итак, учитывая, что каждая дата-время в основном представлена ​​следующим образом:

Код: Выделить всё

2024-05-08T17:31:53.9744487+03:00
Я хочу извлечь только 2024-05-08T17:31:53.9744487 в качестве DateTime, чтобы я мог сообщить местное время события.
Я хочу извлечь только 2024-05-08T17:31:53.9744487 в качестве DateTime, чтобы я мог сообщить местное время события.
Я хочу извлечь только 2024-05-08T17:31:53.9744487 в качестве DateTime, чтобы я мог сообщить местное время события.
Я хочу извлечь только 2024-05-08T17:31:53.9744487 в качестве DateTime, чтобы я мог сообщить местное время события.
p>
Я не хочу выполнять синтаксический анализ строк, как в ответе выше (или любые манипуляции со строками), поскольку они подвержены ошибкам.
Вот тестовый пример, который я хотел бы пройти:

Код: Выделить всё

[Fact]
public void DateTimeConversionTest()
{
// Arrange
var testDateTime = DateTime.Parse("2024-05-08T17:31:53.9744487+03:00");
var expectedTimeString = "17:31:53";

// Act
var convertedDateTime = testDateTime; // convert DateTime to local DateTime here
var convertedTimeString = convertedDateTime.ToString("HH:mm:ss");

// Assert
Assert.Equal(expectedTimeString, convertedTimeString);
}
Похоже, что эту проблему на C# решить на удивление сложно, поскольку я не смог найти ничего работающего в Интернете.
Кто-нибудь знает, как ее решить ?

Подробнее здесь: https://stackoverflow.com/questions/784 ... etime-part
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»