在Xamarin.Android中,您可以同时使用.NET和Java。
我得到Java.Util.Date的返回值,然后需要输入与仅使用System.DateTime的参数相同的值
这是我目前的做法
public static DateTime ConvertJavaDateToDateTime(Date date)
{
var a = date.ToGMTString();
var b = date.ToLocaleString();
var c = date.ToString();
DateTime datetime = DateTime.ParseExact(date.ToGMTString(), "dd MMM yyyy HH:mm:ss 'GMT'", CultureInfo.InvariantCulture);
return datetime;
}
但是,在每个月的前9天中,我一天只得到1位数字,而DateTime.ParseExact函数正在寻找dd(即一天中的2位数字)。
a是值为“ 2014年9月1日14:32:25 GMT”的字符串
b是值为“ 1 Sep 2014 16:32:25”的字符串
c是值为“ Mon Sep 01 16:32:25 EET 2014”的字符串
我希望我可以找到一个简单,快速,可靠和一致的解决方案来解决这个问题:D
java.util.Date
有一个getTime()
方法,该方法以毫秒值返回日期。该值是格林尼治标准时间1970年1月1日以来的毫秒数。
有了这些知识,您可以构造一个System.DateTime
与该值匹配的,如下所示:
public DateTime FromUnixTime(long unixTimeMillis)
{
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return epoch.AddMilliseconds(unixTimeMillis);
}
(此答案中的方法)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句