現在の月頭の日の曜日を求める方法はないでしょうか?
例)現在は1月なので1/1の曜日 => 火曜

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

A 回答 (3件)

グレゴリー暦の「ツェラーの公式」を使うのが常套手段です。


西暦y年m月d日の曜日は、
( y + y/4 -y/100 + y/400 + (( 13 * m + 8 ) / 5 ) + d ) %7 )
で計算して結果が「0」なら日曜日、「1」なら月曜日・・・「6」なら土曜日になります。
↓実際の例です。
sub getDayOfWeek{
my($year, $month, $day) = @_;
# 1月または2月の場合は前年の13月および14月とみなす
if ($month <= 2) {
--$year;
$month += 12;
}
return (($year + int($year/4) - int($year/100) + int($year/400)
+ int((13*$month + 8)/5) + $day) % 7);
}

ただし、1582年10月15日(金)午後以後にしか有効ではありません。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
サブルーチンまで丁寧に紹介していただき
大変助かりました。
また何かありましたら宜しくお願い致します。

お礼日時:2002/01/07 13:38

すいません!!


最新の質問を見ていてカテゴリーをよく見ずに回答してしまいました...。
    • good
    • 0

手計算でなくてもいいんですよね?


だったらExcelを使うと簡単に調べることができますよ。
セルに日付を入力して、右クリック、セルの書式設定、
ユーザー定義、aaaa としてみてください。
例:
A列 B列=A1
2002/1/1火曜日
2002/2/1金曜日
2002/3/1金曜日
2002/4/1月曜日
2002/5/1水曜日
2002/6/1土曜日
...

ちなみに aaa にすると曜日の一文字だけになりますよ。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
残念ながら今回は使う機会はありませんが、
EXCELでこのような使い方があると勉強になりました。
また何かありましたら宜しくお願い致します。

お礼日時:2002/01/07 13:36

このQ&Aに関連する人気のQ&A

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

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

Q英語の読み方

日本語は一文字で一つの読み方でわかりやすいのですが英語には読み方の決まりはあるのでしょうか?あるのであれば読み方を詳しく書いているサイトや本、もしくはここに書いてくれると嬉しいです

Aベストアンサー

「えいごのよみかたの」でグーグル検索しかけたら「英語の読み方のルール」の検索結果がたくさんヒットしました。これなんか、どうでしょう。
http://www.uda30.com/bay/Spell-Yomi/Spell-Yomikata.htm

Q第1月曜日は第1週の月曜日かその月の最初の月曜日か

皆さんに一般論的、社会通念的なところもからめて伺いたいのですが,第1月曜日、第2月曜日といった言葉の「第1、第2」というのは、
「カレンダー上の第1週の月曜日」でしょうか、
それとも「その月の最初の月曜日」なんでしょうか?


今月4月はキレイに日曜頭の1日始まりで誰の目にも4月2日が第1月曜日ですが、翌5月をみると、火曜日1日はじまりです。こういった場合、第1月曜日は「5月7日」であると考える人はいないのでしょうか?
理美容関係の業種等、「その月の最初の月曜日」を「第1月曜日」としてないかなぁと・・・。

Aベストアンサー

↓は、とある美容室の定休日ですが、

http://ameblo.jp/chic-g/entry-10029580890.html
>※ もしその月の第一火曜が1日にあたる場合は
第一月曜が7日となるため
その月の第一月・火曜は7日・8日
となりますのでご注意ください

という但し書きがあります。

通常考えれば、カレンダー通りの解釈になるのではないでしょうか。

Q英語の読み方をカタカナで書くことについて

英語の単語の読み方をカタカナで読み方を書く人がよくいますよね?
たとえば

run ラン

こういった行為はよくないといわれていますなんででしょうか?

またカタカナで読み方を書くのではなくアルファベッドのローマ字読みで読み方を書くという行為もありますがこれはいいのでしょうか?

Aベストアンサー

少し、私も知っていることを言わせていただきます。
ソシュールの教えの中に、「シニフィアン」と「シニフィエ」という言葉があります。
「シニフィアン」とは、表記されたものという意味で、「シニフィエ」とは、その意味を持つ概念を表します。

>run ラン

>こういった行為はよくないといわれていますなんででしょうか?

そんなことは、誰が言ったのしょうね。単に、英語学習の権威付けだけではないでしょうか。
一部の人は、メディアによる吹き込みで、誤解があるのでしょう。

ソシュールの理論からすれば、おかしな話なのです。発音記号で?って、音声学の専門教育を受けた人が、国際音声記号(IPA)で書けるならともかく、別に、一般の発音記号などで表記しても、厳密性などはありませんね。日本人には違う音に聞こえても、英語ネイティブには同じに聞こえるらしいのですが、国際音声記号では、絶対に違う表記になります。

日本語でも、「ん」の表記はされていても、様々な音声を持っています。その違いを日本人自身は、特別な訓練をしなければ、認識できません。当然、ローマ字表記でもカバーすることはできません。私は、英語の発音を何度も調べてみましたが、違う音声なのに、同じに表記される発音記号は多くありますから、何を以って、カタカナ表記が悪いとするのか分かりません。場合によっては、カタカナ表記の方が正確かもしれません。

Wyswyg (what you see is what you get)という言葉がありますが、これをもじって、Wylwyg(what you listen [for] is what you get)ではないでしょうか?あなたの聞いたものが、本当なんだろうと思います。
つまり、音声言語である限りは、どんな表記であろうが、表記自体に何の罪もありません。聞いたことがないものは、発音記号であろうが、国際音声記号(IPA)であろうが、フォニックスであろうが、ハングルであろうが、再現できなければ何の役も立ちません。

究極的には、相手に、自分の意味している音声が通じるかどうかの問題で、有名な同時通訳の人の本でも、英語のカタカナ表記はされています。それが、結構、通じるのです。

「上杉謙信」が、" West Kensington"として通じたでも、それは、それで、Communicable なら良いのだと思います。日本語の発音で何が悪いのでしょう。相手が意味が取れないとなって、始めて、相手とのコンセンサスが取れる発音をするわけで、表記(シニフィアン)に問題があるわけではありません。表記を限定するということには、何か、英語教師の欺瞞が隠されているように感じます。

神経質な英語ネイティブの教師にあたれば、意味は通じていたのに、あれこれ上から目線で文句を言われるかもしれませんし、『なんで英語をやるの』の著者の中津燎子氏のように、英語そのものの有効性を無視して、自分が認める範囲の発音でない生徒なら、即刻ダメだしして、もう教えないという教師もいるかもしれませんが、本当に、英語をコミュニケーションのツールとして考えるなら、そのような配慮はいらないはずです。一方では、英語はグローバルな言語と位置づけながら、もう一方で、米国発音を強要するというのは、矛盾しているように思います。そうした、米国による英語至上主義はやめたほうがよいと思います。

少し、私も知っていることを言わせていただきます。
ソシュールの教えの中に、「シニフィアン」と「シニフィエ」という言葉があります。
「シニフィアン」とは、表記されたものという意味で、「シニフィエ」とは、その意味を持つ概念を表します。

>run ラン

>こういった行為はよくないといわれていますなんででしょうか?

そんなことは、誰が言ったのしょうね。単に、英語学習の権威付けだけではないでしょうか。
一部の人は、メディアによる吹き込みで、誤解があるのでしょう。

ソシュールの理論からすれば、...続きを読む

Q4桁の整数の前位の足し算を行い結果を表示するプログラムってどう作るんですか? 例)1000=1 99

4桁の整数の前位の足し算を行い結果を表示するプログラムってどう作るんですか?
例)1000=1
9999=36
のような感じです

Aベストアンサー

方法1)
数値を「10進数の文字列」に変換し、1文字ずつ数値に変換して足していく

方法2)
例えば
1234 ÷ 10 = 123 余り4
123 ÷ 10 = 12 余り3
というように、10で割ると、商は一桁右へずれ、元の1の桁が余りとなる。
これを使って、10で割った余りを足していく

方法3)
2とは逆に上から割った商を足していく
1234 ÷ 1000 = 1 余り234
234 ÷ 100 = 2 余り34
...

方法4)
最近のコンピュータなら、メモリも速度も十分なので、4桁=10000個くらいなら、計算結果を予め用意して配列とかに入れておくこともできる。

Q英語の読み方

英語の読み方を説明や教えてくれるホームページなどがあったら、教えてください。               
もしない場合は「palaces」の読み方だけでも教えてください。

Aベストアンサー

「フォニックス(phonics)」で検索すると、色々出てくるんじゃないでしょうか?

日本語には50音表があり、基本的に全ての単語が50音表の音だけでできています。他の音は使いません。

他の言語も同様で、英語の場合、フォニックスとか42 SoundsとかPV法とか言い方は色々ありますが、全ての単語がその音だけでできています。他の音は使いません。

(言語学で言うと「音韻」と言います。)

例えば、方言にもよりますが、一般米語の母音はこの表の13(14?)母音だけです。他の音を使ってはいけません。
http://www.americanaccent.com/vowel_chart.swf


又、英語のつづりは日本人が思っているほどめっちゃくちゃではありません。しっかりしたルールがあるます。

母音なら、
a,e,i,o,uの5文字にそれぞれ2種類の読み方があります。これで10通り。
加えて、oi,ou,ooの二重音字(2文字で1音)が3つ、計13母音です。

例えばaという字は[ei]か「ae]の2種類の読み方があります。つづり字でaを見たら、まずこの二つのどちらかを疑います。
例:[ei]で読む単語はmake、take、hate等
[ae]で読むのはapple、bad、dad、stand等

ただ、日本語も英語も、「アクセント」の位置が重要な言語ですが、日本語と英語の決定的な違いは、英語は基本的に「アクセントのある母音だけつづりのルール通りに読んで、
アクセントが無い部分は、つづりがなんであろうとuの発音(bus等のu)を弱めに発音したものになる」ということです。

日本語は例えば「赤」と「垢」のアクセントの違いは、「音程」ですが、英語は音程は別に変えなくてもいいです。でもこの「母音の読み方」を変えることが重要です。


palacesは、
アクセントの位置は1つ目のaです。
ということは、1つ目aだけルール通り[ei]か「ae]で読み(この単語の場合は[ae])、2つ目のaとeはアクセントが無いので、つづり字に関わらずuの発音になります。

読みどおりにつづると、
PAL-uh-suz
となります。

(uhはbusのu)。

「フォニックス(phonics)」で検索すると、色々出てくるんじゃないでしょうか?

日本語には50音表があり、基本的に全ての単語が50音表の音だけでできています。他の音は使いません。

他の言語も同様で、英語の場合、フォニックスとか42 SoundsとかPV法とか言い方は色々ありますが、全ての単語がその音だけでできています。他の音は使いません。

(言語学で言うと「音韻」と言います。)

例えば、方言にもよりますが、一般米語の母音はこの表の13(14?)母音だけです。他の音を使ってはいけません...続きを読む

Q$postflag=1とか$flag=1とかってなにを意味しているの?

CGIでperlを勉強してます。

アンケートフォームや掲示板などのデコード処理の中によく、$postflag=1;とか$flag=0;とか出てくるんですけど、この変数はなにを意味しているのですか?

Aベストアンサー

勉強を始めたばかりの方とお見受けします。
小難しい説明だと理解しづらいですよね。

コーディングの暗黙的ルールとして
flag(フラグ)というものは1か0です。(またはtrue/false、真/偽、on/off、などなど。。。)
つまり2者択一をする場合の判定条件に使われる変数だと思ってください。

例えば性別を選ばせるアンケートフォームがあるとします。
で、女性と回答された場合のみ割引サービスの画面を見せたいって場合などに
フラグを利用します。$seibetsu_flagとでもしましょう。
基本は$seibetsu_flag=0ですが"女性"と選択された場合のみ$seibetsu_flag=1となるよう
プログラムを組んでおけば、後の処理で、


if ($seibetsu_flag=1) {

  ★女性なのでサービス画面表示する処理

}
else {

  ★男性なので通常処理

}


こんな感じで判定することができますよね。
$postflagは名前から察するにNo.3さんの回答の用途だと思いますよ。

勉強を始めたばかりの方とお見受けします。
小難しい説明だと理解しづらいですよね。

コーディングの暗黙的ルールとして
flag(フラグ)というものは1か0です。(またはtrue/false、真/偽、on/off、などなど。。。)
つまり2者択一をする場合の判定条件に使われる変数だと思ってください。

例えば性別を選ばせるアンケートフォームがあるとします。
で、女性と回答された場合のみ割引サービスの画面を見せたいって場合などに
フラグを利用します。$seibetsu_flagとでもしましょう。
基本は$seibets...続きを読む

Q英語の文字の読み方についてお願いします。図々しいのですが、英語の読み方

英語の文字の読み方についてお願いします。図々しいのですが、英語の読み方を全て書いていただけませんか(サイトがあれば教えて下さい)。例:ja=ヤ,ジャ の用にjaで「ジャ」や「ヤ」と発音するみたいにお願いします。

Aベストアンサー

フォニックスやるのがいちばんいいんじゃないですか?

フォニックスって何?
http://allabout.co.jp/children/kidsenglish/closeup/CU20020620a/index.htm
http://www.genkienglish.net/phonicsj.htm

Q@×× = $q->param('**'); の書き出しについて

このようなチェックボックスを作って
<INPUT type="checkbox" name="q1" value="A">A<br>
<INPUT type="checkbox" name="q1" value="B">B<br>
<INPUT type="checkbox" name="q1" value="C">C<br>

このようなPerlの記述をして
use CGI;
$q = new CGI;
@q1 = $q->param('q1');

このようなCGIの値の書き出し部分はどうしたらいいですか?
print "<td width=300><font size=2>●●{'q2'}</font></td>\n";

上記の
@q1 = $q->param('q1');
に、チェックされた値が格納されているんですよね。
その値を表示させたいと思っています。
いろいろ教えてもらって、ここまでたどり着きました。

Aベストアンサー

#3さんの『お礼』にあるコードですが、間違っているところだけ書いておきます。

原因はCGI.pmと独自の入力処理が、それぞれデータをとり合っていることです。このコード上では、独自の入力処理の部分がSTDINを読み込んでしまうので、CGI.pmからは何も読む事は出来ません。

入力処理には、CGI.pmか独自入力処理の『いずれか』を用いてください。全て書いても使えるのは一つだけです。質問内容から考えられるお勧めは、CGI.pmを利用する事です。(オーバースペックですが、ひとまずそう言うことは考えない方針で。)

コードを見る限り、恐らく『データでコード処理』の部分を全て削除すれば大丈夫だと思います。

Q英語由来の外来語の読み方

例えば、アメリカ大統領のリンカーンの名前の読み方について、次の二通りをよく目にします。
(1)アブラハム・リンカーン
(2)エイブラハム・リンカーン

 (2)は、より英語の発音に忠実な読み方、と言えると思いますが、(1)のような読み方は、何か呼び方がありますか? 「ヘボン式」とは違いますか? 何か適切な呼び方があればそれをご教授頂きたいのと、ほかにもこのような例をご存じであれば挙げて頂きたいこと、それと、それに関する解説か、サイトの紹介などを、よろしくお願い致します。

Aベストアンサー

(1)は一般的に【ローマ字読み】といわれる類です。

http://www.ikeda19.com/como_leer.html

http://komachi.yomiuri.co.jp/t/2013/0217/574050.htm?g=08

QX月Y日がZ曜日なのは西暦何年か

X月Y日がZ曜日なのは西暦何年かをだすにはどうすればいいのでしょう?

Aベストアンサー

曜日の算出はツェラーの公式で算出すれば、あとは#1さんのご回答をコーディングするのみで1582年10月15日(金)以降対応となります

ツェラーの公式
http://easycgi.xrea.jp/tips/perl/zeller.htm

んでコーディングしてみました。
### ex. 1583年から2100年までで、10月10日が月曜日となる年は?
$mon = 10;
$day = 10;
$j = 0;##カウンター
for( $i=1583; $i<=2100; $i++){
if( $mon<3){$year = $i-1; $month=$mon+12;}else{$year=$i;$month=$mon;}
$week = ($year + int($year/4) - int($year/100) + int($year/400) + int((13*$month + 8)/5) + $day) %7;
if ( $week == 1 ){
$j ++;
print "$i,";
}
}
print "<br>$j回ありました.";
### result 75回、ちゃんと今年も入っていたから計算間違いはないはず。
前後を適宜補って実行してみてください

曜日の算出はツェラーの公式で算出すれば、あとは#1さんのご回答をコーディングするのみで1582年10月15日(金)以降対応となります

ツェラーの公式
http://easycgi.xrea.jp/tips/perl/zeller.htm

んでコーディングしてみました。
### ex. 1583年から2100年までで、10月10日が月曜日となる年は?
$mon = 10;
$day = 10;
$j = 0;##カウンター
for( $i=1583; $i<=2100; $i++){
if( $mon<3){$year = $i-1; $month=$mon+12;}else{$year=$i;$month=$mon;}
$week = ($year + int($year/4) - int($year/1...続きを読む


人気Q&Aランキング