【发布时间】:2014-08-25 20:06:39
【问题描述】:
在 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 是一个值为“1 Sep 2014 14:32:25 GMT”的字符串
b 是一个值为“1 Sep 2014 16:32:25”的字符串
c 是一个字符串,其值为“Mon Sep 01 16:32:25 EET 2014”
我希望我能为这个问题找到一个简单、快速、可靠和一致的解决方案:D
【问题讨论】:
-
date.ToGMTString()的值究竟是多少?您是否也尝试使用d说明符? -
你能不能只在 Xamarin 中使用
long时间戳? -
@SonerGönül 我已经用更多细节更新了问题,没有尝试仅使用广告,因为我假设它不适用于两位数的日子,例如 10、11 等
-
@chrylis 你能详细说明一下吗?如何使用长时间戳将 java.util.date 转换为 system.datetime
-
@Dv_MH
dspecifier 表示从1到31。