首页 > 解决方案 > 使用 C# 在 Xamarin.android 中获取错误的 UTC 日期时间 (1970-01-01)

问题描述

我对 UTC 日期时间有疑问。我在 Xamarin.android 中有现有的 Android 应用程序,有时我会得到错误的日期时间。我正在使用 C# 生成 UTC 时间

  string myUtcTime = DateTime.UtcNow.ToString("yyyy-MM-dd HH\\:mm\\:ss"); 

我将 myUtcTime 值作为字符串数据类型保存到 SQLite 数据库列中。然后从 SQLite 获取 utcTime 并将其以 JSON 正文发送到服务器。

  Wrong value is  1970-01-01 03:07:18.000 

我不知道为什么有时我会在服务器上收到 1970-01-01。请有人指教

标签: c#androidxamarin.android

解决方案


将日期时间转换为字符串以存储在 SQLite 中,如下所示

string dateTimeInstring = DateTime.UtcNow.ToString();

并将从 SQLite 检索的日期时间转换回 DateTime,如下所示

DateTime utcDateTime = Convert.ToDateTime(dateTimeInstring);
DateTime.SpecifyKind(utcDateTime, DateTimeKind.Utc);

推荐阅读