2012-10-20 19 views
5

私のシステムの日付形式はdd-MM-yyyy(20-10-2012)です。日付と区切り記号を使用して日付、月、年を分割しています。私は日付形式(dd/MM/yyyy)のいずれかの日付形式で返されるかどうかを変換する必要があります。システム日付とスプリット日、月、年

string sDate = string.Empty; 
DateTime _date = DateTime.Now; 
int count = 0; 
string format = "dd-MM-yyyy"; 
sDate = dateFormat.ToString(format); 
string[] Words = sDate.Split(new char[] { '-' }); 
foreach (string Word in Words) 
{ 
    count += 1; 
    if (count == 1) { Day = Word; } 
    if (count == 2) { Month = Word; } 
    if (count == 3) { Year = Word; } 
} 
+1

重複のします。http://stackoverflow.com/questions/12985802/im-getting-cultureinfo-invariantculture-format-for-mm-dd-yyyy-but-i-want- to-ge – SearchAndResQ

+4

'DateTime'オブジェクトが既にある場合、それに定義されているプロパティを単純に使用できないのはなぜですか? 「年」、「月」、「日」は、必要な値を直接与える必要があります。すでに簡単に到達しているデータを抽出するために混乱させる文字列に変換するという点はありません。 – Oded

+0

@Oded私はあなたに完全に同意しています..... – Ram

答えて

6

あなたは形式を知っているか、そうでない場合は、システムの設定DateTime.TryParseを使用する場合は、DateTime.TryParseExcactを使用する必要があります。日付を印刷するには、引数に正しい書式のDateTime.ToStringを入力します。年、月、日を取得するにはDateTime.YearDateTime.MonthまたはDateTime.Dayがあります。

MSDNのDateTime Structuresを参照してください。あなたがフォローのように行うことができます

+2

+1独自の日付/時刻処理コードをロールしないでください。 –

11

:私の脳をチェックするためにIDEを開くことなく、あなたの列を使用することができます日時の代わりに

String date = DateTime.Now.Date.ToString(); 
    String Month = DateTime.Now.Month.ToString(); 
    String Year = DateTime.Now.Year.ToString(); 

..

+0

あなたの例には、数日間の真夜中に非常に近い競合状態があります。 –

1

は、一日のこの時点で構文については正しく動作します...

日付を特定の形式にしたい場合は、DateTime's .ToString(string format)を使用できます。あなたがそのリンクに従うと、標準とカスタムの書式指定文字列の例がいくつかあります。

だから

DateTime _date = DateTime.Now; 
var _dateString = _date.ToString("dd/MM/yyyy"); 

はあなたが要求する形式の文字列として日付を与えるだろう。

String sDate = DateTime.Now.ToString(); 
DateTime datevalue = (Convert.ToDateTime(sDate.ToString())); 

String dy = datevalue.Day.ToString(); 
String mn = datevalue.Month.ToString(); 
String yy = datevalue.Year.ToString(); 

ORまた

、あなたがここにsplit string date into day, month and yearにスプリット機能を使用することができます。ここでは

15

は、あなたが探しているものです。

希望、それはあなたを助けるでしょう...乾杯。 !!次のように

+0

私は無礼になりたくはありませんが、あなたのコードスニペットは何をしていますか? なぜ、ToString()を3回呼び出すことができるように、DateTimeオブジェクトを作成してToString()を2回呼び出して、それをDateTimeに変換するのですか? 必要なものは、DateTime dateValue = DateTime.Nowです。 –

+0

@BojidarStanchev親愛なる私は、ユーザーからの質問として、日付文字列を入力として期待しています(DateTimeオブジェクトですが)。だからそれはユースケースのためだけです。私は、実行時に異なる種類のカルチャの書式を使用しているユーザーに迷惑をかけたくないと思っています。だから、それは単なる基本ルールでした。主な目的は、日、月、年を日付文字列から簡単に分ける方法を示すことでした。 –

3

あなたは、現在の日付から月の年の日付を分割することができます:

DateTime todaysDate = DateTime.Now.Date;

日:

int day = todaysDate.Day;

月:

int month = todaysDate.Month;

年:

int year = todaysDate.Year;

関連する問題