C # DateTime to String Issue

Мне кажется, что я делал это тысячу раз, поэтому не понимаю, почему сейчас это так сложно.Я создал метод, который просто возвращает сегодняшнюю дату для пользователя на основе их смещения в формате UTC. Но вместо того, чтобы возвращать строку, напоминающую дату, он возвращает этот мусор

"䙭/䙭/Ἰ뻱䙭"

Вот код.

public string getToday(Context context)
{
    var settings = PreferenceManager.GetDefaultSharedPreferences(context);
    var offset = settings.GetInt("offset", -5);
    var now = DateTime.UtcNow.AddHours(offset);

    return now.ToShortDateString();
}

Когда я вхожу в код, используя точку останова, смещение и теперь оба кажутся правильными. теперь содержит действительные части даты, кажущиеся точными. Что-то в преобразовании сейчас в строку, кажется, идет ужасно неправильно. Также пробовал:

return now.ToString("MM/dd/yyyy");

Тот же результат. Странная часть кода ниже в другом действии работает без проблем

var offset = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours;
var now = DateTime.UtcNow.AddHours(offset);
now.ToString("MM-dd-yyyy")
5
задан Uwe Keim 10 February 2012 в 20:26
поделиться