C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 日付を和暦で表示させたい


(過去ログ 76 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■45163 / inTopicNo.1)  日付を和暦で表示させたい
  
□投稿者/ Alice (1回)-(2010/01/04(Mon) 00:33:44)

分類:[C#] 

2010/01/04(Mon) 00:37:09 編集(投稿者)
2010/01/04(Mon) 00:36:27 編集(投稿者)

<pre><pre>お世話になります。
Visual Studio2005でC#を使ってるのですが、
DateTimePickerで日付を選び、すぐ後にスペースを入れ、文字を入れたものがあります。(例:2010/01/01 あああ)
それをWordのテンプレートにはき出したいので、以下の関数を使っています。
public static string formatWarekiZenkaku(string s)
{
if (s != null && s != "")
{
return s;

}
else
{
return "平成  年  月  日";
}
}

こうすると、日付の後の文字列がない場合は和暦で日付が出るのですが、
日付と文字列が混在している状態だと、(例:2010/01/01 あああ)といった感じで西暦と文字列が表示されます。
これを(平成22年1月1日 あああ)と和暦で出るようにしたいのですが、どう追加すればいいでしょうか?
日付の欄と文字列の欄を別々に作成するのではなく、一つのDateTimePickerの枠の中に混在させている状態で変換させたいです。
調べていたら、コントロールパネルで設定するとよいとあったのですが、システム上で和暦になるようにしたいのでコードを追加してできるようにしたいと思っています。
どうかご教授の程よろしくお願いします。
</pre></pre>
引用返信 編集キー/
■45164 / inTopicNo.2)  Re[1]: 日付を和暦で表示させたい
□投稿者/ なかむら (1回)-(2010/01/04(Mon) 05:33:33)
なかむら さんの Web サイト
日付と文字列が混在しているのなら、
Split で分解して、日付だけを和暦に変換したあと、
くっつければいいのでは?

引用返信 編集キー/
■45165 / inTopicNo.3)  Re[1]: 日付を和暦で表示させたい
□投稿者/ .SHO (1096回)-(2010/01/04(Mon) 09:31:32)
No45163 (Alice さん) に返信

で、ようするに質問は何?
引用返信 編集キー/
■45166 / inTopicNo.4)  Re[1]: 日付を和暦で表示させたい
□投稿者/ みきぬ (694回)-(2010/01/04(Mon) 09:35:27)
2010/01/04(Mon) 10:02:05 編集(投稿者)

No45163 (Alice さん) に返信
> DateTimePickerで日付を選び、すぐ後にスペースを入れ、文字を入れたものがあります。(例:2010/01/01 あああ)

この時点で和暦にしない理由を聞いてもよいかしら?

[追加]
特に理由がないのなら、そういった文字列で保持するよりは、DateTimePicker で選んだときの DateTime 値を保持しておいて、文字列は必要なときに作るほうが取り回しが楽だと思うけど。
[/追加]
引用返信 編集キー/
■45170 / inTopicNo.5)  Re[2]: 日付を和暦で表示させたい
□投稿者/ Jitta (618回)-(2010/01/04(Mon) 21:19:47)
No45164 (なかむら さん) に返信
> 日付と文字列が混在しているのなら、
> Split で分解して、日付だけを和暦に変換したあと、
> くっつければいいのでは?
>

補足

つまり、数字とスラッシュだけなら「日付かもしれない」と考えるけれども、文字列がくっついて「文字列」になっているので、日付の可能性を考慮しない、ということです。
引用返信 編集キー/
■45176 / inTopicNo.6)  Re[2]: 日付を和暦で表示させたい
□投稿者/ Alice (2回)-(2010/01/05(Tue) 00:23:28)
回答ありがとうございます
すみません、質問内容がわかりにくかったですね。

DateTimePickerで日付を選び、スペースを入れ、文字を入れたとき、
Wordのテンプレートに日付は和暦で、後のスペースと文字はそのままで出力できる様にしたいです。
ちなみに後ろに入れる文字は任意で入れてもらうものなので、こちらで作るということは異なります。
説明がややこしくてすみません。

Splitというメソッドがあるのですね、参考になります。
詳しく検索してみます。
引用返信 編集キー/
■45203 / inTopicNo.7)  Re[3]: 日付を和暦で表示させたい
□投稿者/ Jitta on the way (504回)-(2010/01/05(Tue) 19:46:35)
No45176 (Alice さん) に返信
> 回答ありがとうございます
> すみません、質問内容がわかりにくかったですね。
>
> DateTimePickerで日付を選び、スペースを入れ、文字を入れたとき、
> Wordのテンプレートに日付は和暦で、後のスペースと文字はそのままで出力できる様にしたいです。
> ちなみに後ろに入れる文字は任意で入れてもらうものなので、こちらで作るということは異なります。
> 説明がややこしくてすみません。
>
> Splitというメソッドがあるのですね、参考になります。
> 詳しく検索してみます。

ユーザーは、日付と文字列を別々に入力するのだから、word への出力も別々にすればいいのではないですか?

もう一度かきますが、「2010/1/5」は、日付と解釈することができます。しかし、「2010/1/5 仕事始め」は、文字列でしかありません。「最初の8文字が日付じゃないか」は、人間だから(そういう解釈ができるようにプログラミングしたから)出来ることです。word にどの様に出力するのかわかりませんが、そのように解釈するように設定しない限り、C# 側でなんとかすることは出来ないでしょう。
…って、プロジェクトの種類は?
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -