- ベストアンサー
JavaScriptによるDBアクセス時のDATE型の扱い
- JavaScriptを使用してOracle10gにアクセスする際のDATE型の扱いについて困っています。
- JavaScriptで受け取ったDATE型の値を特定の形式に変換したいが、関数を使用してもエラーが発生します。
- このDATE型の値から年や月を取得する方法や、DATEオブジェクトの関数を調べる方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
再現できないので推測の域を出ませんが、ヒントにでもなれば… IEとのことなので、MS仕様みたいな気がしますね。 typeofの際のobjectとdateは別物として扱われているようです。 http://msdn.microsoft.com/ja-jp/library/d70y8358.aspx 以下のあたりがヒントになりそう http://msdn.microsoft.com/ja-jp/library/bb907043.aspx http://msdn.microsoft.com/ja-jp/library/hhw1f6w5.aspx 手っ取り早く、ヤマカンならば… DBから受けた変数をdとして、 var dd = new Date( d.toString() ); などで、通常のdateオブジェクトにできそうな気がしますが…
その他の回答 (1)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
JavaScriptのDateオブジェクト。 http://www.tohoho-web.com/js/date.htm JavaScriptの解説書なら必ず書いてあるはずなので、手持ちの解説書を読まれてみてはいかがでしょうか。 「Oracle date」でググって出てきたところから。 http://oracle.se-free.com/dml/07_todate.html > ・この「date」をJavaScriptの「Date型」に変換する方法があればそれを JavaScriptで以下のようにすると指定した日付でDateオブジェクトを生成できるので、 Oracleから取得するときのフォーマットをJavaScriptに合うように指定して、文字列として引数にすれば行けるはずです。 dd = new Date("1999/12/31 23:59:59"); > ・この「date」から、年・月等の値を取得する方法 JavaScriptのDateオブジェクトではなく、Oracleのデータから年月だけを指定しての取得という意味でしょうか? SQLが使えるはずですので、SQLのフォーマット指定で行けませんか?
お礼
ありがとうございました。
補足
>JavaScriptのDateオブジェクトではなく、 >Oracleのデータから年月だけを指定しての取得という意味でしょうか? 両方間違っています。 話の対象は、JavaScriptのtypeofで「date」と表現されるオブジェクトの話です。 これはDB上のDATE型の値を格納する変数としてADODBが生成する型です。 日付(Date) http://www.tohoho-web.com/js/date.htm こういう基礎中の基礎の話ではありません。 質問文中でも誤解されないように記述していますが再度記述しておきます。 こちらの型はJavaScriptのtypeofで「object」と表現されます。 >SQLが使えるはずですので、SQLのフォーマット指定で行けませんか? 質問は「どんな方法でもいいのでDBから年月を取得する方法」ではありません。 『「date」から、年・月等の値を取得する方法』です。 DB内で型変換をしてしまうと意味はないので、 DB上のカラムのデータ型そのままで取得する必要があります。 出来ればもう一度、質問文をよく読んでいただけませんでしょうか。
お礼
> DBから受けた変数をdとして、 > var dd = new Date( d.toString() ); > などで、通常のdateオブジェクトにできそうな気がしますが… これは「おっ」と思って試してみたところ、うまくいきました。 対処療法的ですが、とりあえずはこの方法を採用することにしました。 「dateは何者か」という核心部分は不明なままですが 大変助かりました。ありがとうございました。