Мне кажется, что я делал это тысячу раз, поэтому не понимаю, почему сейчас это так сложно.Я создал метод, который просто возвращает сегодняшнюю дату для пользователя на основе их смещения в формате 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")