在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;
}
Run Code Online (Sandbox Code Playgroud)
但是在任何一个月的前9天,我只获得当天的1位数,而DateTime.ParseExact函数正在寻找dd(即当天的2位数).
a是一个值为"1 Sep 2014 14:32:25 GMT"的字符串
b是一个值为"2014年9月1日16:32:25"的字符串
c是一个值为"Mon Sep 01 16:32:25 EET 2014"的字符串
我希望我能为这个问题找到一个简单,快速,可靠和一致的解决方案:D
Den*_*nis 12
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);
}
Run Code Online (Sandbox Code Playgroud)
(从这个答案中取出的方法)
| 归档时间: |
|
| 查看次数: |
11373 次 |
| 最近记录: |