通常,我们会遇到日期时间格式如下:
1:2019-5-13
2:2019-10-9 21:1:2
当显示在表格之中时,非常不美观和整齐。通过以下函数可以将月、日、时、分、秒为一位数,补充为2位数,变成以下效果:
1:2019-05-13
2:2019-10-09 21:01:02
//检查变量是否 日期格式,返回true和false public Boolean IsDatetime(string _s) { DateTime dtDate; if (DateTime.TryParse(_s, out dtDate)) { return true; //是日期格式 } else { return false; //不是日期格式 } } /// <summary> /// 自动给日期时间的个位数补充为两位数, /// </summary> /// <param name="_s">填写字符串格式的日期时间参数</param> /// <param name="_i">填写转换模式:1=只保留日期,2=只保留时间,3=日期时间同时保留</param> /// <returns></returns> public string PadDateTime(string _s,int _i) { string temp = ""; if (IsDatetime(_s)) { if(_i==1 || _i==3) { DateTime _date1 = DateTime.Parse(_s.ToString()); string _month = "00" + _date1.Month.ToString(); _month = _month.Substring(_month.Length - 2); string _day = "00" + _date1.Day.ToString(); _day = _day.Substring(_day.Length - 2); temp += _date1.Year + "-" + _month + "-" + _day; } if (_i == 3) { temp += " "; } if (_i == 2 || _i==3) { DateTime _date1 = DateTime.Parse(_s.ToString()); string _hh = "00" + _date1.Hour.ToString(); _hh = _hh.Substring(_hh.Length - 2); string _mm = "00" + _date1.Minute.ToString(); _mm = _mm.Substring(_mm.Length - 2); string _ss = "00" + _date1.Second.ToString(); _ss = _ss.Substring(_ss.Length - 2); temp += _hh + ":" + _mm + ":" + _ss; } } return temp; }调用方式:注意第二个参数,1=只保留日期,2=只保留时间,3=日期时间同时保留
1=只保留日期
string _d = DateTime.Now.ToString() ;
string temp = PadDateTime(_d,1);
结果为:2019-08-09
2=只保留时间
string _d = DateTime.Now.ToString() ;
string temp = PadDateTime(_d,2);
结果为:09:34:06
3=日期时间同时保留
string _d = DateTime.Now.ToString() ;
string temp = PadDateTime(_d,3);
结果为:2019-08-09 09:34:06
