Lonely Planeteer не указывает, что означает «не работает». Следующий пример демонстрирует, как можно изменить тип DateTime, свободно говоря, используя синтаксис, желаемый Lonely Planeteer. Возможно, этот полный рабочий пример позволит Lonely Planeteer найти проблему.
using System;
namespace StOv3
{
class Program
{
static void Main(string[] args)
{
DateTime unspecifiedTime = new DateTime(2016, 12, 8, 0, 0, 0, DateTimeKind.Unspecified);
DateTime localTime = new DateTime(2016, 12, 8, 0, 0, 0, DateTimeKind.Local);
DateTime utcTime = new DateTime(2016, 12, 8, 0, 0, 0, DateTimeKind.Utc);
Console.WriteLine("A DateTime, unspecified whether UTC or local {0}, Kind {1}", unspecifiedTime, unspecifiedTime.Kind);
Console.WriteLine("A local DateTime {0}, Kind {1}", localTime, localTime.Kind);
Console.WriteLine("A UTC DateTime {0}, Kind {1}", utcTime, utcTime.Kind);
// Attempt to redefine variables with same values;
unspecifiedTime = new DateTime(2016, 12, 8, 0, 0, 0, DateTimeKind.Unspecified);
localTime = new DateTime(2016, 12, 8, 0, 0, 0, DateTimeKind.Local);
utcTime = new DateTime(2016, 12, 8, 0, 0, 0, DateTimeKind.Utc);
Console.WriteLine("A DateTime, unspecified whether UTC or local {0}, Kind {1}", unspecifiedTime, unspecifiedTime.Kind);
Console.WriteLine("A local DateTime {0}, Kind {1}", localTime, localTime.Kind);
Console.WriteLine("A UTC DateTime {0}, Kind {1}", utcTime, utcTime.Kind);
// Attempt to change kind of variable
unspecifiedTime = DateTime.SpecifyKind(unspecifiedTime, DateTimeKind.Utc);
localTime = DateTime.SpecifyKind(localTime, DateTimeKind.Unspecified);
utcTime = DateTime.SpecifyKind(utcTime, DateTimeKind.Utc);
Console.WriteLine("A DateTime, originally unspecified whether UTC or local {0}, Kind {1}",
unspecifiedTime, unspecifiedTime.Kind);
Console.WriteLine("A DateTime, originally local {0}, Kind {1}", localTime, localTime.Kind);
Console.WriteLine("A DateTime, originally UTC {0}, Kind {1}", utcTime, utcTime.Kind);
}
}
}
Консольный вывод:
A DateTime, unspecified whether UTC or local 12/8/2016 00:00:00, Kind Unspecified
A local DateTime 12/8/2016 00:00:00, Kind Local
A UTC DateTime 12/8/2016 00:00:00, Kind Utc
A DateTime, unspecified whether UTC or local 12/8/2016 00:00:00, Kind Unspecified
A local DateTime 12/8/2016 00:00:00, Kind Local
A UTC DateTime 12/8/2016 00:00:00, Kind Utc
A DateTime, originally unspecified whether UTC or local 12/8/2016 00:00:00, Kind Utc
A DateTime, originally local 12/8/2016 00:00:00, Kind Unspecified
A DateTime, originally UTC 12/8/2016 00:00:00, Kind Utc
Какой тип gr_sch_date? – CodingYoshi
Является ли 'gjm.gr_sch_date' значением' DateTime' в локальном часовом поясе? Если это так, попробуйте использовать 'TimeZoneInfo.ConvertTimeToUtc (DateTime.SpecifyKind (gjm.gr_sch_date.Date, DateTimeKind.Local))'. Если это неопределенная дата, вместо этого используйте 'DateTimeKind.Unspecified'. Если вы просто переконфигурируете часовой пояс в UTC, AFAIK, 'DateTime.SpecifyKind (gjm.gr_sch_date, DateTimeKind.Utc)' преобразуется в UTC, не используя разницу в часовом поясе. –
Это ужасно названные переменные и классы. – Kinetic