Curl Global Community

Full Version: Curl ORB のDate型について
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
初めて投稿します。Curl初心者です。

今、CurlORBを使用してサーバサイドのJavaと連携を行っています。

CurlORBのデータ型として、Date型がありますが、Date型の変数に1970年1月1日以前の日付を

Date.valueOfで設定して、サーバサイドに返そうとすると、下記の予期していないアプレット例外のメッセージが表示されてしまいます。

「DateTimeException: '1960-0-0 00:00:00.0000000'をDateTimeDataに変換することができません:指定された日時が範囲外です。

サーバサイドに1970年1月1日のデータをDate型で渡す方法はないのでしょうか。




通常のDateTime では、1970-01-01 00:00:00.000000 +0000 から 2038-01-19 03:14:07.000000 +0000 までの範囲のみ利用可能なので、それを超えた日付を指定するためには、タイム ゾーンをUTCで指定する必要があります。

Code:
{DateTime
    zone = DateTimeZone.utc,
    "1969-01-01"
}

Quote:


(12-26-2012, 02:13 PM)umemura Wrote: [ -> ]通常のDateTime では、1970-01-01 00:00:00.000000 +0000 から 2038-01-19 03:14:07.000000 +0000 までの範囲のみ利用可能なので、それを超えた日付を指定するためには、タイム ゾーンをUTCで指定する必要があります。

Code:
{DateTime
zone = DateTimeZone.utc,
"1969-01-01"
}


Quote:



返信ありがとうございます。

DateTimeには、zoneプロパティがあるとのことですが、ORBで使用するDateにはzoneはないのでしょうか。

ない場合は、1970年1月1日以前の日付をDateで扱えないのでしょうか。


試していませんが、DateTimeでサーバに送信して、サーバ側でDateTimeData.getDateメソッドを利用することで、取得できるかもしれないです。

一度おためしください。


{Date.from-millsecond}を使ってはどうでしょうか?
 ←このメソッド、スペル間違っている気が・・・。
(01-18-2013, 05:22 PM)hokada Wrote: [ -> ]{Date.from-millsecond}を使ってはどうでしょうか?
 ←このメソッド、スペル間違っている気が・・・。



返信が遅くなりすみません。

教えていただいた{Date.from-millsecond}で、以下のようにすることで1970年1月1日以前を

扱うことができました。

let dtBig GrinateTime = {DateTime "1969-01-01", zone = DateTimeZone.utc}
let dtdataBig GrinateTimeData = dt.data
let date_dtBig Grinate = {Date.from-millsecond dtdata.epoch-second * 1000}


ありがとうございました。