如何将日期时间变量从 C# 代码传递到 java Web 服务
本文关键字:java 服务 Web 代码 日期 时间 变量 | 更新日期: 2023-09-27 18:32:54
getClients(LoginInfo user, long sysId, java.lang.String accNum, java.lang.String ClientNum, java.util.Calendar fromTime, java.util.Calendar toTime, boolean showDeactivated, boolean showDetails).
以上是我从 C# 代码调用的 java 网络服务方法。
我正在传递具有以下值的 Time和 ToTime 参数
DateTime from = new DateTime(2012, 3, 1, 1, 1, 1, DateTimeKind.Unspecified);
DateTime to = new DateTime(2012, 4, 1, 1, 1, 1, DateTimeKind.Unspecified);
发现错误date string can not be less than 19 charactors
Edit______*以下是代理中的方法*
getClients([System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
LoginInfo user, long sysId, [System.Xml.Serialization.XmlIgnoreAttribute()] bool sysdSpecified,
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] string accNum,
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
string ClientNum, [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
System.Nullable<System.DateTime> fromTime, [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
[System.Xml.Serialization.XmlIgnoreAttribute()] bool fromTimeSpecified,
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] System.Nullable<System.DateTime> toTime,
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
[System.Xml.Serialization.XmlIgnoreAttribute()]
bool toTimeSpecified,
bool showDeactivated, [System.Xml.Serialization.XmlIgnoreAttribute()]
bool showDeactivatedSpecified, bool showDetails,
[System.Xml.Serialization.XmlIgnoreAttribute()] bool showDetailsSpecified) {
}
为什么不将值转换为长整型?例如:从 01/01/1990 开始的分钟数。
从 C# 发送为:
private static readonly DateTime Jan1st1970 = new DateTime
(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
public static long CurrentTimeMillis()
{
return (long) (DateTime.UtcNow - Jan1st1970).TotalMilliseconds;
}
在 Java 中接收为:
new Date(longValueFromAbove);
你试过使用 DateTimeKind.UTC 吗?
该字符串可能缺少时区说明符,当您使用 DateTimeKind.Undesignated 时。
编辑:好的,DateTime没有以任何方式提供时区,但DateTimeOffset这样做。试试这个:
new DateTimeOffset(yourDateTime)