转 C#中 取时间的年月日时分秒

本文详细介绍了使用C#进行时间格式转换的方法,包括获取当前时间的各组成部分、不同格式的时间字符串展示方式,以及时间间隔的计算等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:时间格式转换

System.DateTime currentTime=new System.DateTime();

1.1 当前年月日时分秒

currentTime=System.DateTime.Now;

1.2 当前年

int =currentTime.Year;

1.3 当前月

int =currentTime.Month;

1.4 当前日

int =currentTime.Day;

1.5 当前时

int =currentTime.Hour;

1.6 当前分

int =currentTime.Minute;

1.7 当前秒

int =currentTime.Second;

1.8 当前毫秒

int 毫秒=currentTime.Millisecond;

(变量可用中文)

1.9 中文日期显示——年月日时分

string strY=currentTime.ToString("f"); //不显示秒

1.10 中文日期显示_年月

string strYM=currentTime.ToString("y");

1.11 中文日期显示_月日

string strMD=currentTime.ToString("m");

1.12 中文年月日

string strYMD=currentTime.ToString("D");

1.13 当前时分,格式为:1424

string strT=currentTime.ToString("t");

1.14 当前时间,格式为:2003-09-23T14:46:48

string strT=currentTime.ToString("s");

1.15 当前时间,格式为:2003-09-23 14:48:30Z

string strT=currentTime.ToString("u");

1.16 当前时间,格式为:2003-09-23 14:48

string strT=currentTime.ToString("g");

1.17 当前时间,格式为:Tue, 23 Sep 2003 14:52:40 GMT

string strT=currentTime.ToString("r");

1.18获得当前时间天后的日期时间

DateTime newDay = DateTime.Now.AddDays(100);

1.192006-8-7 9:13:45------>2006/08/07 09:13

lblNow.Text =System.DateTime.Now.ToString("yyyy/MM/dd HH:mm").Replace("-","/");

string data1=Convert.ToDateTime(dtpkFrom.Text.Trim()).ToString("yyyy-MM-dd ");

string data2=Convert.ToDateTime(dtpkTo.Text.Trim()).ToString("yyyy-MM-dd ");

 

以下内容转自http://www.cnblogs.com/musickh/archive/2009/07/16/1524912.html,在此多谢博主!

DateTime.Now=2009-7-16 5:20:56

//今天

DateTime.Now.Date.ToString();
"2009-7-16 0:00:00"

//起始日期

 DateTime.Now.Date.AddDays(-(int)(DateTime.Now.DayOfWeek)+1).ToString();
{2009-7-13 0:00:00}
DateTime.Now.Date.AddDays(7-(int)(DateTime.Now.DayOfWeek)).ToString();
{2009-7-19 0:00:00}

//月起始日期
new DateTime(DateTime.Now.Year,DateTime.Now.Month,1).ToString();
{2009-7-1 0:00:00}

 new   DateTime(DateTime.Now.Date.Year,DateTime.Now.Date.Month,DateTime.DaysInMonth(DateTime.Now.Date.Year,DateTime.Now.Date.Month)).ToString();
"2009-7-31 0:00:00"

//年起始日期
 new   DateTime(DateTime.Now.Date.Year,1,1).ToString();
{2009-1-1 0:00:00}
 new   DateTime(DateTime.Now.Date.Year,12,DateTime.DaysInMonth(DateTime.Now.Date.Year,DateTime.Now.Date.Month)).ToString();
{2009-12-31 0:00:00}

 

 

转于http://hi.baidu.com/whzsf/blog/item/433f26188d3b2d1635fa4159.html

时间相减 得到天数、小时、分钟、秒差

DateTime dtone = Convert.ToDateTime("2007-1-1 05:00:00");
        DateTime dtwo = Convert.ToDateTime("2007-1-5 08:00:00");
        TimeSpan span = dtone.Subtract(dtwo); //算法是dtone 减去 dtwo
        tss.Text = span.Days + "天" + span.Hours + "小时" + span.Minutes + "分钟" + span.Seconds+"秒" + span.TotalDays;

<think>好的,我现在需要处理用户关于如何用C#完整日期时间的问题,包括年月日时分秒。首先,我得确认用户的需求是什么,他们可能有一个数据源,比如数据库或文件,需要从中读完整的日期时间信息,并且可能需要格式化为包含毫的字符串。 首先,我应该回忆C#中处理日期时间的基本类,主要是DateTime结构。DateTime确实包含年、月、日、时、分、、毫这些属性。比如Year, Month, Day, Hour, Minute, Second, Millisecond。用户可能需要获这些属性,或者格式化输出。 然后,用户提到读完整的日期时间,可能涉及到从数据库或文件读。比如,如果是从SQL数据库读,DateTime类型通常包含到毫,但需要确认数据库中的字段是否确实存储了毫部分。例如,SQL Server的datetime2类型可以存储更精确的时间,包括毫,而旧的datetime类型精度较低。 接下来,用户可能需要将DateTime对象格式化为包含毫的字符串。C#中常用的格式化方法是ToString(),使用自定义格式字符串。毫的格式符是fff,例如"yyyy-MM-dd HH:mm:ss.fff"可以生成包含毫的字符串。 另外,要注意系统区域设置对日期格式的影响,使用不变区域(InvariantCulture)可能更可靠,避免不同系统上的格式问题。 然后,可能需要考虑如何从数据源正确读DateTime值。比如,在ADO.NET中,使用SqlDataReader读字段时,确保使用GetDateTime方法获DateTime对象,而不是换为字符串,这样能保留毫信息。 另外,可能存在一些特殊情况,比如数据库中的日期时间字段可能为空,需要进行空值处理,使用Nullable<DateTime>或者DateTime?类型,配合IsDBNull判断。 用户提供的引用中提到了Access数据库处理大量数据的情况,虽然与C#的问题不直接相关,但可能暗示用户在处理大数据时的性能考虑。不过当前问题主要关注如何正确读和格式化日期时间,性能问题可能其次,但可以稍作提及。 最后,需要生成相关问题,可能涉及如何格式化日期、处理不同的数据源、时区问题、性能优化等。要确保问题相关且有帮助。 总结步骤: 1. 使用DateTime结构获各个部分。 2. 使用ToString格式化输出包含毫的字符串。 3. 从数据库读时确保获完整的DateTime值。 4. 处理可能的空值情况。 5. 示例代码展示如何读和格式化。 6. 生成相关问题,如格式化、数据源处理、时区换等。</think>在C#中读完整日期时间(含毫)可通过`DateTime`结构实现,具体步骤如下: 1. **获DateTime对象** 从数据库或文件读时,使用标准方法获DateTime类型数据: ```csharp DateTime fullDateTime = dataReader.GetDateTime(0); // ADO.NET示例 ``` 2. **提时间分量** 通过属性直接获时间单位: ```csharp int year = fullDateTime.Year; int millisecond = fullDateTime.Millisecond; // 毫分量 ``` 3. **格式化输出** 使用`ToString()`方法配合格式字符串: ```csharp string formatted = fullDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); // 输出样例:2023-10-05 14:30:45.123 ``` 4. **处理空值** 使用可空类型处理数据库中的NULL值: ```csharp DateTime? nullableDT = dataReader.IsDBNull(0) ? null : dataReader.GetDateTime(0); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值