代码人生的小狗窝

一行行枯燥的代码,却描绘出人生的点点滴滴

您现在的位置是:首页>_C#

datetime中如何才能只保留日期,不要时分秒

发布时间:2019-08-18浏览(2027)

    datetime中怎么才能只保留日期,不要时分秒
    在datetime中用
    datetime   riqi=convert.todatetime(txtqi.text);
    txtqi.text是控件名是textbox控件,是用calendar控件,将calendar的值付在txtqi上,可是打印出来的时间带时分秒,我不想带时分秒,只想要日期
    请指点

    ------解决方案--------------------
    datetime riqi=convert.todatetime(txtqi.text).ToShortDateString()
    ------解决方案--------------------
    convert.todatetime(txtqi.text, "d ");//根据参数
    ------解决方案--------------------
    DateTime.Now.Tostring( "YYYY-MM-DD ")
    ------解决方案--------------------
    为什么一定要只存年月日啊?不重要的话 在取的时候让它变成你想要的格式
    ------解决方案--------------------
    插入数据库就插那种长格式的,string的化就转型成DateTime,但string只能是yyyy-MM-dd之类的形式
    显示的时候转换一下,给人看到的是短格式就可以了
    方法很多:
    .ToShortDateString();
    .ToString( "yyyy-MM-dd ");
    .ToString( "yyyy/MM/dd ");
    都可以
    ------解决方案--------------------


    datetime riqi=convert.todatetime(txtqi.text).ToShortDateString( "t ")
    ------解决方案--------------------
    DateTime riqi = Convert.ToDateTime(t);
    riqi = new DateTime(riqi.Year, riqi.Month, riqi.Day);
    兄弟这个也不好用还是有时分秒

    =========================================

    我想你存在着误区。DateTime本身就是表示时间的一个类,它包括了“Date”和“Time”两部分,当然“必须”包括年、月、日、时、分、秒、毫秒这几个数据,数据库内的DateTime也一样。不然按你说的,在这里不要时分秒,那里不要年月日,就无法统一了。所谓只取年月日,意味着将这个DateTime的时分秒全部置0,这样在插入数据库的时候,就会发现数据的时、分、秒全部为0,这样就可以进行数据比较了。你进行数据库查询的时候,看到的并不是“DateTime”,而是“string”,要注意,我们的眼睛只可以看到string数据,所以当我们要知道一个DateTime数据,就必须将它设定一个显示的格式。所以,如果你指定查询语句为
    select convert(varchar(20),MyDateTime,101) from MyTable,你会发现只有年月日显示出来了。

    第2个问题:如何只比较“时分秒”,可以用下列比较法
    DateTime d = DateTime.Now;
    d = new DateTime(MyDateTime.Year, MyDateTime.Month, MyDateTime.Day,
    d.Hour, d.Minute, d.Second);
    TimeSpan t = d.Subtract(MyDateTime);
    if (t.Ticks <0)
    {
    // 当前时间在MyDateTime时间之前
    }
    else
    {
    // 当前时间在MyDateTime时间之后
    }
    ------解决方案--------------------
    我说个笨方法,用函数一个一个把年月日截取出来

    string year = DateTime.Now.Year.ToString();
    string month = DateTime.Now.Month.ToString();
    string day = DateTime.Now.Day.ToString();

    其实前面说的也可以
    ------解决方案--------------------
    大家都误会楼主的意思了,楼主只想要个只有年月日的时间格式变量,好复制给DateTime类型的参数,插入到数据库中,楼主看我的:

    DateTime riqi = Convert.ToDateTime(Convert.ToDateTime(txtqi.text).ToShortDateString() + "00:00 ");