通常,我们会遇到日期时间格式如下:
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