0

次のような文字列を表示するために、MonoTouch プロジェクトで日付をフォーマットしようとしています。

 1st Saturday of the month, February 2, 2013

しかし、C# でフォーマットする方法を見つけることができませんでした。

私は以前、次のようなフォーマッターを使用して、Objective C でこれを行うことができました。

 [dateFormatter setDateFormat:@"F'st' EEEE 'of the month', MMMM d, yyyy"];

「2st」を「2nd」、「3st」を「3rd」などに置き換えますが、「F」文字の​​代わりを見つけることができませんでした。

C#でこれを行う方法はありますか?

4

3 に答える 3

0

これを行うための標準的な書式指定子については知りませんが、計算はかなり簡単なはずです。

DateTime date = DateTime.Now;

int day = date.Day;

int ordinal = (day / 7) + 1;

// if it's the first occurrence, ordinal will be 1, 2nd will be 2, etc

(私はそれをコンパイラで実行して確認していませんが、基本的な考え方はうまくいくと思います)

于 2013-02-15T19:33:39.560 に答える
0

のようなものDateTime.Now.Day / 7 + 1があなたにその番号を与えるでしょう、そしてあなたは残りの文字列を追加します

于 2013-02-15T19:29:15.350 に答える
0

前の回答のうち 2 つは近いものでしたが、どちらも同じ場所にエラーがありました。月の曜日の発生を取得するために使用しているコードは次のとおりです。

int dowin = (SelectedDate.Day - 1) / 7 + 1;
switch(dowin){
    case 1:{
        return "1st" + dateString;
    }
    case 2:{
        return "2nd" + dateString;
    }
    case 3:{
        return "3rd" + dateString;
    }
    case 4:{
        return "4th" + dateString;
    }
    case 5:{
        return "5th" + dateString;
    }
}
于 2013-02-18T14:52:19.317 に答える