指定格式时出现日期时间转换问题

本文关键字:日期 时间 转换 问题 定格 格式 | 更新日期: 2023-09-27 18:03:44

我的代码抛出了一个错误:

将字符串转换为datetime时,在将每个变量放入datetime对象之前,先解析字符串以获取日期。

代码:

我需要在文本框中显示默认值即当前日期。

txtIssuingDate.Text = DateTime.Now.ToString("dd/MM/yyyy"); 

然后我需要将其保存在DB中也没有指定格式

ComposedLetterBizz CompLetterBizz = new ComposedLetterBizz(Convert.ToInt32(txtName.Text),  
    Convert.ToInt32(HiddenFieldComplaintID.Value),  
    txtLetterNo.Text,  
    txtDispatchNo.Text,  
    txtSubject.Text,  
    Convert.ToInt16(ddlDepartments.SelectedValue),  
    Convert.ToInt16(ddlDesignations.SelectedValue),  
    Convert.ToDateTime(txtIssuingDate.Text),  
    Convert.ToDateTime(txtDeadLine.Text));

指定格式时出现日期时间转换问题

如果您的文化不使用/作为日期分隔符,则使用DateTime.ParseCultureInfo.InvariantCulture:

所以不用

Convert.ToDateTime(txtIssuingDate.Text)

使用当前区域性的日期分隔符,这个

DateTime.Parse(txtIssuingDate.Text, CultureInfo.InvariantCulture)

但是当您将日期分配给TextBox.Text时也应该这样做:

txtIssuingDate.Text = DateTime.Now.ToString(CultureInfo.InvariantCulture);

自定义格式说明符

try this

DateTime obj = DateTime.Now;
txtIssuingDate.Text = obj.ToString("dd/MM/yyyy");
ComposedLetterBizz CompLetterBizz = new ComposedLetterBizz(Convert.ToInt32(txtName.Text), Convert.ToInt32(HiddenFieldComplaintID.Value), txtLetterNo.Text, txtDispatchNo.Text, txtSubject.Text, Convert.ToInt16(ddlDepartments.SelectedValue), Convert.ToInt16(ddlDesignations.SelectedValue),
                obj, Convert.ToDateTime(txtDeadLine.Text));