2016-11-14 3 views
1

私は2つのWebサイトを持っています.1つはC#.NETにあり、もう1つはJavaにあります。 C#でDateTimeオブジェクトを作成し、それをシリアル化し、Javaサイトが理解できるURLに追加する必要があります。C#とJavaの間にDateTimeを渡しますか?

私はこれを行うためにUTC時間を使うべきであることを知っています。 C#でのDateTimeのシリアライズとJavaでのシリアライズ解除については、最高の「ストレージ」形式は何ですか?

私はちょうどC#でダニのようなものを使うべきだと思っていますが、Javaがその能力をサポートしているかどうかはわかりません。

+1

json、Strings、DateおよびDateFormat –

+0

javaの[日付クラス](https://www.tutorialspoint.com/java/util/java_util_date.htm)は、コンストラクタの引数としてティックを受け入れます。しかし、これは唯一の選択肢ではありません。 –

+2

ISO-stringにシリアル化すると、ほとんどすべての言語(Javaを含む)が解析できるはずです。 – nozzleman

答えて

0

私はこのJavaクラスに変換を使用して、.NETティック(マジック時から100ナノ秒)とJavaは(別の時間からのミリ秒)をティックの間であなたが変換できると思う:

public class DateTime 
{ 
    static private long TICKS_AT_EPOCH = 621355968000000000L; 

    long ticks; 

    public DateTime(long t) { 
     ticks = t; 
    } 

    public DateTime(Date date) { 
     ticks = TICKS_AT_EPOCH + 10000 * date.getTime(); 
    } 

    public long Ticks() { return ticks; } 

    static public DateTime fromJavaMillis(long millis) 
    { 
     return new DateTime(TICKS_AT_EPOCH + 10000 * millis); 
    } 

    public Date ToDate() 
    { 
     return new Date((ticks-TICKS_AT_EPOCH)/10000); 
    } 
} 

注 - アイム私はたぶんインターネット上の何処かの場所にあることを発見したでしょう - 創始者のおかげで:)。

次に、このチックを使用してシリアライズするだけで、反対側に.NET DateTimeを直接構築できます。

関連する問題