将 DateTime 传输到 .NET WebAPI
Transfer DateTime to .NET WebAPI
我只想获取 Android 当前时间并传递给 .NET WebAPI。这就对了。但是有很多方法...
我试过这个
Android边
String TimeOfRequest = Long.toString(new Date().getTime());
.NET端
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
t = epoch.AddMilliseconds(Convert.ToInt64(locationItem.TimeOfRequest));
但它给出了这个结果
0001-01-02 18:01:34.0366112
请建议最简单的方法。
试试这个:
private String formatDate(long milliseconds) /* This is your topStory.getTime()*1000 */ {
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(milliseconds);
TimeZone tz = TimeZone.getDefault();
sdf.setTimeZone(tz);
return sdf.format(calendar.getTime());
}
如前所述,假设您的 API 是正确的,这意味着您将字符串从 Android 手机正确传递到 ASP.net API。
String TimeOfRequest = Long.toString(new Date().getTime());
//TimeOfRequest = "1512977867949" // For example
在你的API中:
// For example locationItem.TimeOfRequest = "1512977867949";
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
var t= epoch.AddMilliseconds(Convert.ToInt64(locationItem.TimeOfRequest));
Console.WriteLine(t.ToString("MM/dd/yyyy HH:mm:ss")); // print "12/11/2017 07:37:47"
Console.WriteLine(t.GetType().ToString()); // print "System.DateTime"
我只想获取 Android 当前时间并传递给 .NET WebAPI。这就对了。但是有很多方法...
我试过这个
Android边
String TimeOfRequest = Long.toString(new Date().getTime());
.NET端
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
t = epoch.AddMilliseconds(Convert.ToInt64(locationItem.TimeOfRequest));
但它给出了这个结果
0001-01-02 18:01:34.0366112
请建议最简单的方法。
试试这个:
private String formatDate(long milliseconds) /* This is your topStory.getTime()*1000 */ {
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(milliseconds);
TimeZone tz = TimeZone.getDefault();
sdf.setTimeZone(tz);
return sdf.format(calendar.getTime());
}
如前所述,假设您的 API 是正确的,这意味着您将字符串从 Android 手机正确传递到 ASP.net API。
String TimeOfRequest = Long.toString(new Date().getTime());
//TimeOfRequest = "1512977867949" // For example
在你的API中:
// For example locationItem.TimeOfRequest = "1512977867949";
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
var t= epoch.AddMilliseconds(Convert.ToInt64(locationItem.TimeOfRequest));
Console.WriteLine(t.ToString("MM/dd/yyyy HH:mm:ss")); // print "12/11/2017 07:37:47"
Console.WriteLine(t.GetType().ToString()); // print "System.DateTime"