方式一:Datetime和String类的方法
DateTime dt = DateTime.Now;
Console.WriteLine(dt.ToString());//2017/10/13 14:58:05
Console.WriteLine(dt.ToFileTime().ToString());//131523514856798626
Console.WriteLine(dt.ToFileTimeUtc().ToString());//131523514856798626
Console.WriteLine(dt.ToLocalTime().ToString());//2017/10/13 14:58:05
Console.WriteLine(dt.ToLongDateString().ToString());//2017年10月13日
Console.WriteLine(dt.ToLongTimeString().ToString());//14:58:05
Console.WriteLine(dt.ToOADate().ToString());//43021.6236768403
Console.WriteLine(dt.ToShortDateString().ToString());//2017/10/13
Console.WriteLine(dt.ToShortTimeString().ToString());//14:58
Console.WriteLine(dt.ToUniversalTime().ToString());//2017/10/13 6:58:05
Console.WriteLine(dt.Year.ToString());//2017
Console.WriteLine(dt.Date.ToString());//2017/10/13 0:00:00
Console.WriteLine(dt.DayOfWeek.ToString());//Friday
Console.WriteLine(dt.DayOfYear.ToString());//286
Console.WriteLine(dt.Hour.ToString());//14
Console.WriteLine(dt.Millisecond.ToString());//679
Console.WriteLine(dt.Minute.ToString());//58
Console.WriteLine(dt.Month.ToString());//10
Console.WriteLine(dt.Second.ToString());//5
Console.WriteLine(dt.Ticks.ToString());//636435034856798626
Console.WriteLine(dt.TimeOfDay.ToString());//14:58:05.6798626
Console.WriteLine(dt.ToString());//2017/10/13 14:58:05
Console.WriteLine(dt.AddYears(1).ToString());//2018/10/13 14:58:05
Console.WriteLine(dt.AddDays(1.1).ToString());//2017/10/14 17:22:05
Console.WriteLine(dt.AddHours(1.1).ToString());//2017/10/13 16:04:05
Console.WriteLine(dt.AddMilliseconds(1.1).ToString());//2017/10/13 14:58:05
Console.WriteLine(dt.AddMonths(1).ToString());//2017/11/13 14:58:05
Console.WriteLine(dt.AddSeconds(1.1).ToString());//2017/10/13 14:58:06
Console.WriteLine(dt.AddMinutes(1.1).ToString());//2017/10/13 14:59:11
Console.WriteLine(dt.AddTicks(1000).ToString());//2017/10/13 14:58:05
Console.WriteLine(dt.CompareTo(dt).ToString());//0
Console.WriteLine(dt.Equals("2017-11-6 16:11:04").ToString());//False
Console.WriteLine(dt.Equals(dt).ToString());//True
Console.WriteLine(dt.GetHashCode().ToString());//-946492440
Console.WriteLine(dt.GetType().ToString());//System.DateTime
Console.WriteLine(dt.GetTypeCode().ToString());//DateTime
Console.WriteLine(dt.GetDateTimeFormats('s')[0].ToString());//2017-10-13T14:58:05
Console.WriteLine(dt.GetDateTimeFormats('t')[0].ToString());//14:58
Console.WriteLine(dt.GetDateTimeFormats('y')[0].ToString());//2017年10月
Console.WriteLine(dt.GetDateTimeFormats('D')[0].ToString());//2017年10月13日
Console.WriteLine(dt.GetDateTimeFormats('D')[1].ToString());//2017年10月13日, 星期五
Console.WriteLine(dt.GetDateTimeFormats('D')[2].ToString());//星期五, 2017年10月13日
Console.WriteLine(dt.GetDateTimeFormats('D')[3].ToString());//2017年10月13日
Console.WriteLine(dt.GetDateTimeFormats('M')[0].ToString());//10月13日
Console.WriteLine(dt.GetDateTimeFormats('f')[0].ToString());//2017年10月13日 14:58
Console.WriteLine(dt.GetDateTimeFormats('g')[0].ToString());//2017/10/13 14:58
Console.WriteLine(dt.GetDateTimeFormats('r')[0].ToString());//Fri, 13 Oct 2017 14:58:05 GMT
Console.WriteLine(string.Format("{0:d}", dt));//2017/10/13
Console.WriteLine(string.Format("{0:D}", dt));//2017年10月13日
Console.WriteLine(string.Format("{0:f}", dt));//2017年10月13日 14:58
Console.WriteLine(string.Format("{0:F}", dt));//2017年10月13日 14:58:05
Console.WriteLine(string.Format("{0:g}", dt));//2017/10/13 14:58
Console.WriteLine(string.Format("{0:G}", dt));//2017/10/13 14:58:05
Console.WriteLine(string.Format("{0:M}", dt));//10月13日
Console.WriteLine(string.Format("{0:R}", dt));//Fri, 13 Oct 2017 14:58:05 GMT
Console.WriteLine(string.Format("{0:s}", dt));//2017-10-13T14:58:05
Console.WriteLine(string.Format("{0:t}", dt));//14:58
Console.WriteLine(string.Format("{0:T}", dt));//14:58:05
Console.WriteLine(string.Format("{0:u}", dt));//2017-10-13 14:58:05Z
Console.WriteLine(string.Format("{0:U}", dt));//2017年10月13日 6:58:05
Console.WriteLine(string.Format("{0:Y}", dt));//2017年10月
Console.WriteLine(string.Format("{0}", dt));//2017/10/13 14:58:05
Console.WriteLine(string.Format("{0:yyyyMMddHHmmssffff}", dt));//201710131458056798
方式二:DateTime.ToString(String, IFormatProvider)
使用示例:
String format = "格式字符串";
DateTime date = DataTime, Now;
Response.Write(date.ToString(format, DateTimeFormatInfo.InvariantInfo));
format格式表一(系统默认格式)
d ShortDatePattern
D LongDatePattern
f 完整日期和时间(长日期和短时间)
F FullDateTimePattern(长日期和长时间)
g 常规(短日期和短时间)
G 常规(短日期和长时间)
m、M MonthDayPattern
r、R RFC1123Pattern
s 使用当地时间的SortableDateTimePattern(基于 ISO8601)
t ShortTimePattern
T LongTimePattern
u UniversalSortableDateTimePattern用于显示通用时间的格式
U 使用通用时间的完整日期和时间(长日期和长时间)
y、Y YearMonthPattern
fotmat格式表二(自定义格式)
d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。
ddd 周中某天的缩写名称,在 AbbreviatedDayNames中定义。
dddd 周中某天的完整名称,在 DayNames中定义。
M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。
MMM 月份的缩写名称,在 AbbreviatedMonthNames中定义。
MMMM 月份的完整名称,在 MonthNames中定义。
y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。
yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。
yyyy 包括纪元的四位数的年份。
gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。
m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。
s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。
f 秒的小数精度为一位。其余数字被截断。
ff 秒的小数精度为两位。其余数字被截断。
fff 秒的小数精度为三位。其余数字被截断。
ffff 秒的小数精度为四位。其余数字被截断。
fffff 秒的小数精度为五位。其余数字被截断。
ffffff 秒的小数精度为六位。其余数字被截断。
fffffff 秒的小数精度为七位。其余数字被截断。
t 在AMDesignator 或PMDesignator 中定义的AM/PM 指示项的第一个字符(如果存在)。
tt 在AMDesignator 或PMDesignator 中定义的AM/PM 指示项(如果存在)。
z 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。
zz 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。
zzz 完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。
针对表二进行举例,表一有兴趣的可以自己试试
比如:
年年年年月月日日:format=“yyyyMMdd”
年年年年-月月-日日:format="yyyy-MM-dd"
日日年年年年:format="ddyyyy"
将表二中的字符进行组合即可得到我们想要的时间格式