プログラミング初心者ですが、ある日が「第○曜日」(例 第1火曜日)を取得する関数をつくりたいと思うのですが、素人考えでは、

1、その日の曜日を取得
2、その月の日数を取得
3、その日を7日で割って第○週であるかを判断

というようことが思いつきますが、このようなやりかたはプログラミングの一般的な方法でしょうか?

#質問のしかたは自信なし。
#何かもっと便利な方法があるのではと思ったりしての質問です。
#aspにて作成します。
#あまり馬鹿馬鹿しい質問だとしたら黙殺して下さい。 (^^;

A 回答 (5件)

asp は良く知らないんですが、多分 VB と文法は同じでしょう。



整数の除算は ¥ でできます。

その日 ¥ 7 + 1 が、第?曜日の数値になります。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
「\」もaspで無事活用できました。

何よりも、「正攻法」だというコメントが「自信」につながります。

お礼日時:2002/01/08 04:46

こんにちは。

itohhといいます。

すみません、わたしの間違いのようです。
こんな常識も間違えてしまうなんて、お恥ずかしい。

>2.日曜日を0とした数を日付に加算する。
を省いてください。
    • good
    • 0
この回答へのお礼

おかげさまで無事、作成できました。
コメントのおかげでいろいろシミュレーションできました。

お礼日時:2002/01/08 04:47

itohh> でも、2月11日は第3月曜日になります。



第3週の月曜日だけれど、第2月曜ですよね?
s-holmes さんは、どちらを取得したいのですか?

この回答への補足

回答ありがとうございます。

2002/02/11 は第2月曜日として取得したい。 (^^;
世間一般の呼び方はよくわからないですが。

補足日時:2002/01/07 15:39
    • good
    • 0

こんにちは。

itohhといいます。

もう少し、判定が必要ではないでしょうか?

例えば、今年の1月11日は第2金曜日ですよね?でも、2月11日は第3月曜日になります。

ですから、当月の1日が何曜日かを見て日数を加算してから7日で割るようにしないと行けな
い気がします。

1.当月1日の曜日を算出する。
2.日曜日を0とした数を日付に加算する。
  日曜日:0
  月曜日:1
   :
   :
  金曜日:5
  土曜日:6
3.加算した日数を7日で割って得た数が第n曜日となる。
(余りがあるときは+1した数が第n曜日となる。)

こんな感じでは如何ですか?
    • good
    • 0

その月の日数は必要ないでしょう。

1と3で求まります。

正攻法だと思いますが、どんな不安があるのでしょう?
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

Q英語の読み方

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

Aベストアンサー

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

QC# 毎月1日の曜日について

初めて投稿させて頂きます。
今、C#の勉強を独学で始めました。
C#を使って、数独や、ピクロスなどを作ったりしました。
今度は、カレンダーを作ろうと思っているのですが、

本日の曜日の取得は分かるのですが、月の初めの曜日を
求めるには、どうしたら良いのでしょうか?

DateTime dtNow = DateTime.Now;
// 曜日を取得する
DayOfWeek uWeekday = dtNow.DayOfWeek;

上記の文章で本日の曜日は取得可能ですが、
月初の曜日を求めるのは、どうしたら良いのでしょうか?

どなたか教えていただけないでしょうか??

Aベストアンサー

ベタなやり方ですが、

DateTime today = DateTime.Today;
DateTime day = today.AddDays(-today.Day + 1);
DayOfWeek dayOfWeek = day.DayOfWeek;

でいけるのではないでしょうか?

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 ラン

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

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

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

QC#で指定した月の最後の日を取得する方法

お世話になります。
C#(.net2.0)で指定した年、月の最後の日を取得する方法はどのようにしたら良いのでしょうか?
例えば2008年の2月は「29」のように。
よろしくお願い致します。

Aベストアンサー

DateTimeクラスにDaysInMonth(int year, int month)というメソッドがあります。
「指定した月の日数」=「その月の最後の日」ですから、これがそのまま使えると思います。

参考URL:http://msdn.microsoft.com/ja-jp/library/system.datetime.daysinmonth(VS.80).aspx

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ゲームを作る過程を教えてください。プログラミング言語を勉強したいのですがその後そのプログラミング言

ゲームを作る過程を教えてください。
プログラミング言語を勉強したいのですがその後そのプログラミング言語をどう使えば良いのか分かりません。

Aベストアンサー

本気でやりたいなら、教えてくれる学校・会社に入って勉強しましょう。
参考 > http://www.hallab.co.jp/recruit/new/job/game_flow.html

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

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

Aベストアンサー

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

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

QC#でネットワークプログラミング

C#でネットワークプログラムをしているものです。

本を読みながら勉強しているのですが
C#だとTcpListener・TcpClientを用いれば
簡単にチャットを作れますよね。

で、他にも方法があって
Socket通信と非同期なSocket通信というものが
ありますが、
実際問題としてこの二つの違いというのが
よくわかりません。
どっちでもいいじゃんと思えるのです。
違いをわかりやすく教えていただけると幸いです。
具体的にチャット(3人以上でできるもの)
だとどれがどうとかありますでしょうか?

Aベストアンサー

同期通信とは、相手の返事が返ってくるのを待つものです。
非同期通信とは、同期通信ではないものです。

チャットであれば、非同期の方が適しています。

参考URL:http://www.atmarkit.co.jp/fdotnet/architecture/aafn04/aafn04_04.html

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

QC#のプログラミングについて

会員検索のような画面を作成しています。
この画面にはテキストボックスをA、B、Cを配置して、検索条件を入力していきます。

以下のような動作をさせたいのですがうまくいきません。
解決策をご存知の方がいらっしゃればご教授いただければと思います。

(1)Aに検索条件を入力。
(2)LostFocus時にAの入力内容をチェックする。
(3)入力内容が誤っていたら、メッセージボックスを表示して異常があるのを知らせる。
(4)Aの入力が正しければ、フォーカスをBに設定する。
  Aの入力が誤っていれば、フォーカスをAに戻す(Focus())。
(5)GotFocus処理の実行。(SelectAll()を実施)

上記(1)~(5)のうち(5)が終了したら、再度(4)に処理が遷移してしまい、
無限ループしてしまいます。



以上ですが、宜しくお願いいたします。

Aベストアンサー

※Windows Forms Application を想定しています。

まず,(2) で利用するイベントは LostFocus イベントではなく Validating イベントにします。
次に,(4) で入力が誤っていた場合は e.Cancel = true; を行うだけにします (自動でフォーカスは戻ります)。
また,入力が正しい場合にはフォーカスをプログラムで移動させるのではなく,TabIndex プロパティ値を並べておくことで対応します。
これで,最低限の動作はするはずです。

次に,(5) は GotFocus イベントではなく Enter イベントで行います。


(4) におけるフォーカス移動の問題については,Enter イベント等の MSDN にフォーカスを設定するなと書かれているため,TabIndex による解決が必要になります。
(5) で GotFocus イベントではなく Enter イベントを使うのは,同じく MSDN に Enter イベントを使うように書いてあるためです。


References)
MSDN: Validating イベント
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.validating.aspx

MSDN: Enter イベント
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.enter.aspx

MSDN: GotFocus イベント
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.gotfocus.aspx

※Windows Forms Application を想定しています。

まず,(2) で利用するイベントは LostFocus イベントではなく Validating イベントにします。
次に,(4) で入力が誤っていた場合は e.Cancel = true; を行うだけにします (自動でフォーカスは戻ります)。
また,入力が正しい場合にはフォーカスをプログラムで移動させるのではなく,TabIndex プロパティ値を並べておくことで対応します。
これで,最低限の動作はするはずです。

次に,(5) は GotFocus イベントではなく Enter イベントで行います。


(4) におけ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報