六曜を取得するために旧暦を取得する必要があります。

具体的には任意の日付の旧暦を取得できる方法がわかりません。
どなたか知ってらっしゃる方いたらよろしくお願い致します。

このQ&Aに関連する最新のQ&A

URL 変換」に関するQ&A: 画像のURL変換

A 回答 (2件)

 matarouさん、こんにちは。


 PHPのことは全くわからない人間ですが、もしかしたら参考になるかもしれないと思って、敢えて出てきてみました。

 趣味の関係で旧暦→新暦変換を頻繁に必要とする私がいつも大変重宝している、暦変換プログラムページがあります。そのページを持っているサイトに、下記タイトルの付いたページがありました。

   ・プログラミングと暦
      http://www.kt.rim.or.jp/~tadf/programming-and-ca …

 PHPに関する記述はありませんが、示唆を得られる記述があるかもしれません。
 例えば〔こよみ計算〕という項目には「旧暦の日付がほしいなら~」という一文があります。

 御参考になれば宜しいのですが……

参考URL:http://www.kt.rim.or.jp/~tadf/programming-and-ca …
    • good
    • 0
この回答へのお礼

ありがとうございます。
色々調べたのですが、やぱり太陽の事など絡んできて
非常に難しそうですね。

今はDBに六曜を入れてそこから取得してますので
しばらくこの方法を取ってじっくりと勉強して見たいと
思います。

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

お礼日時:2001/09/13 14:19

旧暦(太陰太陽暦)は、ロジカルに導き出すには


太陽の位置(黄経)を計測したりしないといけなかったりするので
建設的でないでしょうね。

旧暦の各月朔日が新暦(グレゴリオ暦)の何月何日にあたるかという
変換表を作成して導き出すしかないのではないかと思います。

参考 URL に変換表を作成するのに必要な資料が挙げられているようです。
計算して出す場合の参考資料も挙げられているようです。

参考URL:http://www.obs.misato.wakayama.jp/kyoiku/faq/kyu …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q年と曜が文字化け・・・対応策教えてください

PHP初心者です・・・すみませんがご指導のほど
お願いします。

制作環境
windows2000
apache(virsion2.2)
php5(5.1.1)


<html>
<body>
<?php
$japan_youbi=explode("/","日/月/火/水/木/金/土/日");
$youbi=date(w);
$jikan=date("Y年m月d日 $japan_youbi[$youbi]曜日 H時i分s秒");
print($jikan);
?>
</body>
</html>

上記の用にPHPを書くと「年」と「曜」が文字化けします・・・
上記の保存は「shift-JIS」で行っております。

php.iniの設定が怪しいのですが・・・よくわかりません・・・

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = auto

すみません・・・どの用にしたら文字がでてくるので
しょうか?
メモ帳で作っているため、保存はすべてShif-JISで
行いたいです。

ご指導のほどよろしくお願いします。

PHP初心者です・・・すみませんがご指導のほど
お願いします。

制作環境
windows2000
apache(virsion2.2)
php5(5.1.1)


<html>
<body>
<?php
$japan_youbi=explode("/","日/月/火/水/木/金/土/日");
$youbi=date(w);
$jikan=date("Y年m月d日 $japan_youbi[$youbi]曜日 H時i分s秒");
print($jikan);
?>
</body>
</html>

上記の用にPHPを書くと「年」と「曜」が文字化けします・・・
上記の保存は「shift-JIS」で行っております。

php.iniの設定が怪しいのですが・・・よくわかり...続きを読む

Aベストアンサー

これでどうですか?

$japan_youbi=explode("/","日/月/火/水/木/金/土");
print date("Y年m月d日 ").$japan_youbi[date('w')].'曜日 '.date("H時i分s秒");

Q変数から日付を取得したい

こんにちは。

日付の入った変数から年月日を別々に取得したいのです。
いろいろ調べてみたのですが方法が見つかりませんでした。
substrで取得すると一桁の月の時、「-8」と取得してしまうので
日付として取得する方法があるのなら教えて頂けますか。

$date 格納されている値→2007-08-10 00:00:00
取得したい形は
「2007」「08」「10」

PHP4です。
何か良い方法があれば、ご教授ください。
宜しくお願い致します。

Aベストアンサー

こんなかんじで

<?PHP
$date="2007-08-10 00:00:00";
$datetime=strtotime($date);
$year=date("Y",$datetime);
$month=date("m",$datetime);
$day=date("d",$datetime);

print "{$year} {$month} {$day}";

?>

Qプルダウンからの日付取得処理

現在、PHP+SQLiteでWEBページを作成しております。
(初心者です。)

フォームに日付をプルダウンで選択出来るように、
$utime = time()+$jisa*3600;
$today = getdate($utime);

//年のセレクトボックス(±2年)
echo "<select name=year>\n";
for ($y=$today[year]+2; $y>=$today[year]-2; $y--) {
$sel = ($y == $today[year]) ? " selected" : "";
echo "<option value=\"$y\"$sel>$y</option>\n";
}
echo "</select>/\n";
//月のセレクトボックス(12-1月)
echo "<select name=mon>\n";
for ($m=12; $m>=1; $m--) {
$sel = ($m == $today[mon]) ? " selected" : "";
echo "<option value=\"$m\"$sel>$m</option>\n";
}
echo "</select>/\n";
//日のセレクトボックス(31-1日)
echo "<select name=day>\n";
for ($d=31; $d>=1; $d--) {
$sel = ($d == $today[mday]) ? " selected" : "";
echo "<option value=\"$d\"$sel>$d</option>\n";
}
echo "</select>\n";

というコードを記述しております(これはネットを参考にしました)。
これでプルダウンの表示自体は出来たのですが、実際にここから値を取得するにはどうすれば良いかが分かりません・・・。

ご教授お願いいたします。

現在、PHP+SQLiteでWEBページを作成しております。
(初心者です。)

フォームに日付をプルダウンで選択出来るように、
$utime = time()+$jisa*3600;
$today = getdate($utime);

//年のセレクトボックス(±2年)
echo "<select name=year>\n";
for ($y=$today[year]+2; $y>=$today[year]-2; $y--) {
$sel = ($y == $today[year]) ? " selected" : "";
echo "<option value=\"$y\"$sel>$y</option>\n";
}
echo "</select>/\n";
//月のセレクトボックス(12-1月)
echo ...続きを読む

Aベストアンサー

>、実際にここから値を取得するにはどうすれば良いかが分かりません・・・。

formでサブミットすればいいのでは?
$_REQUEST["year"]に年のデータがはいってます。あとはmon,dayも同様

Q日付が上手く取得できないです

$row['date']

で吐き出してます。

この吐き出したデータの最大値を取得したいです。

5/5 5/10 5/20
なら5/20を取りたいわけです。

しかし、この日付。max()で正常な最大値が取得できないです。SQLのORDER BYなら日付でも判別しますが
なにか方法はないですか??
あくまでも一度全部の日付をだしたいので、SQLで最大値をとるのでは、ちょっと違ってしまうです。

Aベストアンサー

ループ中で都度評価してやればいいのでは?

$max_date="";
while($row=mysql_fetch_array($res,MYSQL_ASSOC)){
if($max_date<$row["date"]) $max_date=$row["date"];
}
print $max_date;

ただし、元データが「5/5 5/10 5/20」という文字列で持っている場合
評価がおかしくなります。せめて「05/05 05/10 05/20」というデータで
保持してください

Q同じ日付が取得できない

こんにちは、

$time = getdate($rows['max(t2.modified_time)']);
でdbからデータを抜き出し、$time['mday']の値を使用しようとしているのですが
同じデータを使用しているつもりなのですが、
片方のロジックは、15で、もう片方は16となり
$time['mday']の値が一致しません。
どのへんに問題がありますでしょうか?

$timeの中身をそれぞれのロジックで出力したものになります。
1358263864が同じなら同じデータだとおもっていたのですが。

Array ( [seconds] => 4 [minutes] => 31 [hours] => 16 [mday] => 15 [wday] => 2 [mon] => 1 [year] => 2013 [yday] => 14 [weekday] => Tuesday [month] => January [0] => 1358263864 )

Array ( [seconds] => 4 [minutes] => 31 [hours] => 0 [mday] => 16 [wday] => 3 [mon] => 1 [year] => 2013 [yday] => 15 [weekday] => Wednesday [month] => January [0] => 1358263864 )

こんにちは、

$time = getdate($rows['max(t2.modified_time)']);
でdbからデータを抜き出し、$time['mday']の値を使用しようとしているのですが
同じデータを使用しているつもりなのですが、
片方のロジックは、15で、もう片方は16となり
$time['mday']の値が一致しません。
どのへんに問題がありますでしょうか?

$timeの中身をそれぞれのロジックで出力したものになります。
1358263864が同じなら同じデータだとおもっていたのですが。

Array ( [seconds] => 4 [minutes] => 31 [hours] => 16 [mday] => 15...続きを読む

Aベストアンサー

時刻には標準時間差(たとえば東京は+09:00)があります。
上の時刻は下の時刻に対して +08:00 されています。
下の時刻は上の時刻に対して -08:00 されています。

システムの時刻は UTC 時刻で管理されているので、ローカル時刻に変換した時刻が取得されます。
たぶん、一方がシステム時刻で取得して他方がローカル時刻で取得(に変換)したのではないでしょうか?


このカテゴリの人気Q&Aランキング

おすすめ情報