Я работаю с телефоном Windows 8 и должен преобразовать объект DateTime в временную метку unix.Odd Unix Timestamp conversion
Я знаю, что есть много сообщений о том, как это сделать, но у меня есть странная ошибка, которую я просто не могу понять.
Я делаю это:
double val = (value.Ticks - New DateTime(1970,1,1).Ticks)/TimeSpan.TicksPerSecond;
где значение является DateTime объекта я хочу, чтобы преобразовать в метку времени Unix. Я знаю, что это значение содержит правильное время, (во время отладки я вижу, что он имеет правильную дату + время)
но преобразованное значение unix всегда равно 2 часам. Должна быть проблема с часовыми поясами.
Может кто-нибудь мне помочь? Я нахожу работу с часовыми поясами очень раздражающими в WP, потому что нет методов для преобразования в определенный часовой пояс, отличный от UTC или Local.
Я добавил тэг C#, так как я предполагаю, что это тот язык, который вы используете. Если нет, замените тег на один для используемого вами языка. –
Возможный дубликат [Unix time conversion in C#] (http://stackoverflow.com/questions/7983441/unix-time-conversions-in-c-sharp) –
Не делайте этого так. [Ответ Джона Скита] (http://stackoverflow.com/a/7983514/634824) на этот вопрос есть все, что вам нужно. Но вам нужно понять, что не все 'DateTime' созданы равными. Вопросы '.Kind' - это, вероятно, объясняет несоответствие, о котором вы говорили. –