private void button1_Click(object sender, SystemEventArgs e)
public override void Display(int depth)
{
ConsoleWriteLine(new string('-', depth) + name);
foreach (Component component in children)
{
componentDisplay(depth + 2);
}
}
Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。
1Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。
2Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
3Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。
扩展资料
切记不要用字符串存储日期
这种存储日期的方式的优点还是有的,就是简单直白,容易上手。但是,这是不正确的做法,主要会有下面两个问题:
1、字符串占用的空间更大。
2、字符串存储的日期比较效率比较低(逐个字符进行比对),无法用日期相关的 API 进行计算和比较。
DateTime 类型没有时区信息的
DateTime 类型是没有时区信息的(时区无关) ,DateTime 类型保存的时间都是当前会话所设置的时区对应的时间。
当你的时区更换之后,比如你的服务器更换地址或者更换客户端连接时区设置的话,就会导致你从数据库中读出的时间错误。不要小看这个问题,很多系统就是因为这个问题闹出了很多笑话。
Timestamp 和时区有关。Timestamp 类型字段的值会随着服务器时区的变化而变化,自动换算成相应的时间,说简单点就是在不同时区,查询到同一个条记录此字段的值会不一样。
将DateTime类型转化成string类型即可,转化方法需要使用 SystemDateTime 类的 ToString() 方法,并为其指定格式字符串。
MSDN 中,SystemGlobalizationDateTimeFormatInfo 类的概述里对模式字符串有非常详细的说明,因此,这里我只对常用的一些格式进行说明,首先请看下表:
dd 月中的某一天 一位数的日期有一个前导零
ddd 周中某天的缩写名称 在 AbbreviatedDayNames 中定义
dddd 周中某天的完整名称 在 DayNames 中定义
M 月份数字 一位数的月份没有前导零
MM 月份数字 一位数的月份有一个前导零
MMM 月份的缩写名称 在 AbbreviatedMonthNames 中定义
MMMM 月份的完整名称 在 MonthNames 中定义
y 不包含纪元的年份 如果不包含纪元的年份小于 10,则显示不具有前导零的年份
yy 不包含纪元的年份 如果不包含纪元的年份小于 10,则显示具有前导零的年份
yyyy 包括纪元的四位数的年份
h 12 小时制的小时 一位数的小时数没有前导零
hh 12 小时制的小时 一位数的小时数有前导零
H 24 小时制的小时 一位数的小时数没有前导零
HH 24 小时制的小时 一位数的小时数有前导零
m 分钟 一位数的分钟数没有前导零
mm 分钟 一位数的分钟数有一个前导零
s 秒 一位数的秒数没有前导零
ss 秒 一位数的秒数有一个前导零
为了便于理解,不妨试试下面的程序:
private void TestDateTimeToString() { DateTime now = DateTimeNow; string format; thistextBox1Text = ""; format = "yyyy-MM-dd HH:mm:ss"; thistextBox1AppendText(format + ": " + nowToString(format) + "\n"); format = "yy年M日d日"; thistextBox1AppendText(format + ": " + nowToString(format) + "\n");}
这段程序将输出结果:
yyyy-MM-dd HH:mm:ss: 2002-08-26 17:03:04
yy年M日d日: 02年8日26日
DateTime dt = DateTimeNow;
// Label1Text = dtToString();//2005-11-5 13:21:25
// Label2Text = dtToFileTime()ToString();//127756416859912816
// Label3Text = dtToFileTimeUtc()ToString();//127756704859912816
// Label4Text = dtToLocalTime()ToString();//2005-11-5 21:21:25
// Label5Text = dtToLongDateString()ToString();//2005年11月5日
// Label6Text = dtToLongTimeString()ToString();//13:21:25
// Label7Text = dtToOADate()ToString();//386615565508218
// Label8Text = dtToShortDateString()ToString();//2005-11-5
// Label9Text = dtToShortTimeString()ToString();//13:21
// Label10Text = dtToUniversalTime()ToString();//2005-11-5 5:21:25
// 2005-11-5 13:30:284412864
// Label1Text = dtYearToString();//2005
// Label2Text = dtDateToString();//2005-11-5 0:00:00
// Label3Text = dtDayOfWeekToString();//Saturday
// Label4Text = dtDayOfYearToString();//309
// Label5Text = dtHourToString();//13
// Label6Text = dtMillisecondToString();//441
// Label7Text = dtMinuteToString();//30
// Label8Text = dtMonthToString();//11
// Label9Text = dtSecondToString();//28
// Label10Text = dtTicksToString();//632667942284412864
// Label11Text = dtTimeOfDayToString();//13:30:284412864
// Label1Text = dtToString();//2005-11-5 13:47:04
// Label2Text = dtAddYears(1)ToString();//2006-11-5 13:47:04
// Label3Text = dtAddDays(11)ToString();//2005-11-6 16:11:04
// Label4Text = dtAddHours(11)ToString();//2005-11-5 14:53:04
// Label5Text = dtAddMilliseconds(11)ToString();//2005-11-5 13:47:04
// Label6Text = dtAddMonths(1)ToString();//2005-12-5 13:47:04
// Label7Text = dtAddSeconds(11)ToString();//2005-11-5 13:47:05
// Label8Text = dtAddMinutes(11)ToString();//2005-11-5 13:48:10
// Label9Text = dtAddTicks(1000)ToString();//2005-11-5 13:47:04
// Label10Text = dtCompareTo(dt)ToString();//0
//// Label11Text = dtAdd()ToString();//问号为一个时间段
// Label1Text = dtEquals("2005-11-6 16:11:04")ToString();//False
// Label2Text = dtEquals(dt)ToString();//True
// Label3Text = dtGetHashCode()ToString();//1474088234
// Label4Text = dtGetType()ToString();//SystemDateTime
// Label5Text = dtGetTypeCode()ToString();//DateTime
// Label1Text = dtGetDateTimeFormats('s')[0]ToString();//2005-11-05T14:06:25
// Label2Text = dtGetDateTimeFormats('t')[0]ToString();//14:06
// Label3Text = dtGetDateTimeFormats('y')[0]ToString();//2005年11月
// Label4Text = dtGetDateTimeFormats('D')[0]ToString();//2005年11月5日
// Label5Text = dtGetDateTimeFormats('D')[1]ToString();//2005 11 05
// Label6Text = dtGetDateTimeFormats('D')[2]ToString();//星期六 2005 11 05
// Label7Text = dtGetDateTimeFormats('D')[3]ToString();//星期六 2005年11月5日
// Label8Text = dtGetDateTimeFormats('M')[0]ToString();//11月5日
// Label9Text = dtGetDateTimeFormats('f')[0]ToString();//2005年11月5日 14:06
// Label10Text = dtGetDateTimeFormats('g')[0]ToString();//2005-11-5 14:06
// Label11Text = dtGetDateTimeFormats('r')[0]ToString();//Sat, 05 Nov 2005 14:06:25 GMT
Label1Text = stringFormat("{0:d}",dt);//2005-11-5
Label2Text = stringFormat("{0:D}",dt);//2005年11月5日
Label3Text = stringFormat("{0:f}",dt);//2005年11月5日 14:23
Label4Text = stringFormat("{0:F}",dt);//2005年11月5日 14:23:23
Label5Text = stringFormat("{0:g}",dt);//2005-11-5 14:23
Label6Text = stringFormat("{0:G}",dt);//2005-11-5 14:23:23
Label7Text = stringFormat("{0:M}",dt);//11月5日
Label8Text = stringFormat("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
Label9Text = stringFormat("{0:s}",dt);//2005-11-05T14:23:23
Label10Text = stringFormat("{0:t}",dt);//14:23
Label11Text = stringFormat("{0:T}",dt);//14:23:23
Label12Text = stringFormat("{0:u}",dt);//2005-11-05 14:23:23Z
Label13Text = stringFormat("{0:U}",dt);//2005年11月5日 6:23:23
Label14Text = stringFormat("{0:Y}",dt);//2005年11月
Label15Text = stringFormat("{0}",dt);//2005-11-5 14:23:23
Label16Text = stringFormat("{0:yyyyMMddHHmmssffff}",dt);
C# 时间(几个常用时间,程序运行计时,页面运行计时)
DateTime now = SystemDateTimeNow;
nowToString(); //显示: 2006/08/30 17:31:02
nowToString("yyyy-MM-dd hh:mm:ss"); //显示: 2006-08-30 05:39:11
SystemDateTimeMaxValueToString(); //显示: 9999/12/31 23:59:59
SystemDateTimeMinValueToString(); //显示: 0001/01/01 0:00:00
nowToLongDateString(); //显示: 2006年8月30日
nowToLongTimeString(); //显示: 17:34:23
nowToShortTimeString(); //显示: 17:34
nowToString() + " " + nowMillisecondToString(); //显示: 2006/08/30 17:35:19 484
这个数据库中存储的datetime格式都是2012-09-27 10:57:10000这种的\x0d\如果想用你的格式存储只能把类型改为varchar了\x0d\再者就是你读取的时候可以把-改为用replace(time,'-','') \x0d\---------------\x0d\你把传过来的转换成datetime不就行了
以上就是关于如何向数据库中插入DateTime 数据类型全部的内容,包括:如何向数据库中插入DateTime 数据类型、数据库中 日期的几种表示方法、asp.net中如何生日的DATetime类型写入数据库的string类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)