Метод DateTimeOffset.ToString
Метод ToString с
CultureInfo.InvariantCulture
и шаблоном предсказуем. Спецификатор
"zzz" печатает "+03:00"
или "+00:00", не "Z".
Без формата не печатают. Разбор -
Parse.
Синтаксис
using System.Globalization;
string text = dto.ToString("yyyy-MM-dd HH:mm:ss zzz", CultureInfo.InvariantCulture);
Пример
Давайте выведем значение
со смещением +3:
using System;
using System.Globalization;
class Program
{
static void Main()
{
var dto = new DateTimeOffset(
2020, 1, 2, 3, 4, 5, TimeSpan.FromHours(3));
string res = dto.ToString(
"yyyy-MM-dd HH:mm:ss zzz", CultureInfo.InvariantCulture);
Console.WriteLine(res);
}
}
Результат выполнения кода:
"2020-01-02 03:04:05 +03:00"
Пример
Давайте выведем UTC со смещением ноль:
using System;
using System.Globalization;
class Program
{
static void Main()
{
var dto = new DateTimeOffset(
2020, 1, 2, 3, 4, 5, TimeSpan.Zero);
string res = dto.ToString(
"yyyy-MM-dd HH:mm:ss zzz", CultureInfo.InvariantCulture);
Console.WriteLine(res);
}
}
Результат выполнения кода:
"2020-01-02 03:04:05 +00:00"
Пример
Давайте сравнить с
DateTime.ToString
без "zzz":
using System;
using System.Globalization;
class Program
{
static void Main()
{
var dto = new DateTimeOffset(
2020, 1, 2, 3, 4, 5, TimeSpan.FromHours(3));
string res = dto.DateTime.ToString(
"yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
Console.WriteLine(res);
}
}
Результат выполнения кода:
"2020-01-02 03:04:05"
Смотрите также
-
Parse,
строка обратно -
Offset,
смещение в значении -
DateTime.ToString,
без смещения -
ToOffset,
сменить пояс