日期格式转换 c#

本文关键字:转换 格式 日期 | 更新日期: 2023-09-27 18:31:20

>伙计们,我有一个字符串,日期格式为 dd/mm/YYYY。

但是我需要将其用作日期时间选择器控件。

无法将值分配给日期时间选择器,我尝试了

string exp = "SELECT UserPwdExpiry FROM " + MainForm.schema + "Adm.SysUser WHERE USerId ='" + cmbUserID.Text + "'";
cmd = ccs.CreateCommand();
ccs.Open();
cmd.CommandText = exp;
DateTime expiry_ = ((DateTime)cmd.ExecuteScalar());
//string _expiry_= expiry_.ToShortDateString(); 
ccs.Close();

在此处分配

dtpPasswordExpiry.Value = Convert.ToDateTime(_expiry_); 

它给了我一个错误,说,格式显示是最大日期和最小日期之间。

请帮忙。

日期格式转换 c#

如果此行运行DateTime expiry_ = ((DateTime)cmd.ExecuteScalar());没有错误,则您已经拥有日期时间对象。所以你可以直接把它设置为

tpPasswordExpiry.Value =expiry_;

但是,如果您将日期时间存储为数据库中的字符串,则上述行将失败

string _User_modify= (string)cmd.ExecuteScalar();
DateTime dt;
if(DateTime.TryParseExact(_User_modify, 
                       "dd/MM/YYYY", 
                       CultureInfo.InvariantCulture, 
                       DateTimeStyles.None, 
                       out dt))
{
    tpPasswordExpiry.Value =dt;
}

我们已经有:

DateTime expiry = ((DateTime)cmd.ExecuteScalar());

所以:我们知道价值是一个DateTimeDateTimePicker控件的 .Value 属性是一个DateTime,所以这里的正确语法是:

dtpPasswordExpiry.Value = expiry;

根据错误消息,唯一离开的是 MinDateMaxDate .我怀疑您需要更改这两个属性的值,以便您的expiry是合法值,不在MinDate范围之内 - MaxDate .如果不确定,只需打印出 expirydtpPasswordExpiry.MinDatedtpPasswordExpiry.MaxDate 的值。