私は、ProductionDate
と呼ばれるDateTimeフィールドを持つSQL Serverテーブルを持っています。このフィールドの形式は次のとおりです。2015-06-29 00:00:00.000
私はこれで、この日付を選択してC#のWinFormアプリケーションを持っている:テーブルからDateTimeフィールドを取得し、C、#で年月日を取得します
string productionDate = String.Empty;
var prodDate = pallets.Select(r => r.Production_Date);
if (prodDate.Count() == 1)
{
productionDate = prodDate.First().ToString();
}
は今、このフォームは、このラインを有する第2のフォームを呼び出します。
EditBOL bol = new EditBOL(BOL, Batch, productionDate)
何私がしようとしているのは、prodDate
という値を持つ2番目のフォームに記入してください。私は、関数が呼び出されたときにそれを取得prodDate
引数を使用してYear
、Month
、およびDay
フィールドを移入しようとしています
:
これは次のようにフォームが見えるものです。
public EditBOL(string BOL, string Batch, string prodDate)
{
InitializeComponent();
txtBOL.Text = BOL;
txtBatch.Text = Batch;
//Code to breakdown prodDAte variable comes here!!
}
私はさまざまな方法の多くを試してみました:
これが呼び出される関数です。私は
2. DateTime.Now.ToString("yyyy-MM-dd h:mm tt");
3. DateTime dateVariable = prodDate??DateTime.MinValue
私はこのすべてが、私は日付がいずれかになります、ので、関数内でdateProd変数にsubstring
を使用したくない、ある試みた理由
を試してみました1-1-2015
または10-10-2015
。形式はmm-dd-yyyy 00:00:00.000
で、それはm-d-yyyy 00:00:00.000
です。したがって、部分文字列はちょうど愚かなようです。だから、文字列をdatetime変数に変換して、DatetimeVariable.Year
,DatetimeVariable.Date
、およびDatetimeVariable.Month
を実行しようとしています。
EDIT 1:テーブルから日付を選択する方法について、数行のコードを入力しませんでした。
「このフォーマットをフィールドは:2015-06-29 00:00:00.000 " - あなたはそれがDateTimeフィールドであると言いました。この場合、" format "フィールドはありません。 - 値を取得するときには、文字列ではなくDateTimeを取得する必要があります。 –
'var prodDate'はその日付のこの値を取得します: ' 6-29-2015 00:00:00' –
ToString()を呼び出します。私はそれをやめることをお勧めします。 –