为什么为日期类型的对象分配值不能正确获取其值?

时间:2019-11-06 20:49:40

标签: .net vb.net winforms date datetime

我有一个winforms日期时间选择器,其自定义格式为

void frequencyAnalysis(int array[], int nitems, int *number, int *freq)
{
    for (int i = 0; i < nitems; i++) {
        ...
        for (int j = 0; j < nitems; j++)
        {
           // do stuff
        }
    }
}

int main(void)
{
int array[MAX],i, j, number = 0, freq = 0;

    ...
    frequencyAnalysis(array, i, &number,&freq);
    ///
}

但是当我将其分配给

txtEndDateTextBox.Format = DateTimePickerFormat.Custom
        txtEndDateTextBox.CustomFormat = "yyyy-MM-dd"

它被分配为 n.N_DATE = txtEndDateTextBox.Value

#11/7/2019 12:41:02 AM#日期`。

其他人也一样

The data type of N_DATE is

分配给日期类型的 NTime.Format = DateTimePickerFormat.Custom NTime.CustomFormat = "HH:mm:ss" 时,其值为n.NTime

2 个答案:

答案 0 :(得分:0)

world my name is 的{​​{3}}属性始终为DateTimePicker。格式仅指定值的字符串表示形式。

如果要以指定的格式获取值的字符串表示形式,则可以轻松使用Value属性。

作为另一种选择,您始终可以调用DateTime的{​​{1}}方法并传递Text

示例-1

ToString

示例-2

DateTime

答案 1 :(得分:0)

一旦在TextBox.Text属性中输入一个值,它将变成一个String。不要通过TextBox传递值。如果n.N_Date需要一个日期,则必须为它传递一个日期而不是字符串。

n.N_DATE = DateTimePicker1.Value

或者,如果仅需要日期部分。

n.N_Date = DataTimePicker1.Value.Date

如果必须使用TextBox

n.N_Date = DateTime.ParseExact(TextBox1.Text, "mm/dd/yyyy", CultureInfo.InvariantCulture)

替换“ mm / dd / yyyy”的实际格式。