Android 将DateTime传输到.NET WebAPI
我只想获得Android当前时间并传递到.NETWebAPI。就是这样。但是有很多方法 我试过这个 安卓端Android 将DateTime传输到.NET WebAPI,android,.net,datetime,android-date,Android,.net,Datetime,Android Date,我只想获得Android当前时间并传递到.NETWebAPI。就是这样。但是有很多方法 我试过这个 安卓端 String TimeOfRequest = Long.toString(new Date().getTime()); var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); t = epoch.AddMilliseconds(Convert.ToInt64(locationItem.TimeOfRequest)
String TimeOfRequest = Long.toString(new Date().getTime());
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
t = epoch.AddMilliseconds(Convert.ToInt64(locationItem.TimeOfRequest));
.NET端
String TimeOfRequest = Long.toString(new Date().getTime());
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 mobile传递到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"
您想要哪种日期格式?@HemantParmar US MM/dd/yyyy HH:MM:ssI认为这是最好的方法。这可能是由于新的Android日期。尝试java.uitl.Date:
String TimeOfRequest=Long.toString(新的java.util.Date().getTime())代码>以ISO格式传输日期,这是标准格式<代码>YYYY-MM-DD HH:MM:ss
。然后将其转换为您想显示的格式。@OleV.V。ISO 8601:YYYY-MM-DDThh:MM:ssTZD
。对,我忘记了T
和TZD
传递可识别文本而不是不可读的毫秒值是个好主意。现在,我推荐一个ISO 8601格式的文本,比如2017-12-11T07:37:47.462Z
。