Curl Global Community
Curl ORB のDate型について - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: Curl ORB のDate型について (/showthread.php?tid=678)



Curl ORB のDate型について - MIT - 12-24-2012

初めて投稿します。Curl初心者です。

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

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

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

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

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







RE: Curl ORB のDate型について - umemura - 12-26-2012

通常の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:





RE: Curl ORB のDate型について - MIT - 12-27-2012

(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で扱えないのでしょうか。





RE: Curl ORB のDate型について - hokada - 12-27-2012

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

一度おためしください。





RE: Curl ORB のDate型について - hokada - 01-18-2013

{Date.from-millsecond}を使ってはどうでしょうか?
 ←このメソッド、スペル間違っている気が・・・。


RE: Curl ORB のDate型について - MIT - 02-19-2013

(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}


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