ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#10,带来了Date和Time类型

2022-04-25 21:05:06  阅读:146  来源: 互联网

标签:10 12 Console C# TimeOnly DateTime WriteLine Date new


C#10引入了日期DateOnly,时间TimeOnly:

//从DateTime转换
Console.WriteLine(DateOnly.FromDateTime(DateTime.Now));
//从字会串转换
Console.WriteLine(DateOnly.Parse("2021-10-23"));
//从0001-01-01到现在的天数
Console.WriteLine(DateOnly.FromDayNumber(738085)); 
//从DateTime转换
Console.WriteLine(TimeOnly.FromDateTime(DateTime.Now));
//从TimeSpan转换
Console.WriteLine(TimeOnly.FromTimeSpan(new TimeSpan(12,12,12)));
//从字符串转换
Console.WriteLine(TimeOnly.Parse("12:13:14"));
//从带格式的字t会串转换
Console.WriteLine(TimeOnly.ParseExact("12时13分14秒","HH时mm分ss秒"));

结果:

 

 

 由此想到数据库有Date和Time类型,能不能使用,试验一下:

CREATE TABLE [dbo].[Test](
  [ID] [int] IDENTITY(1,1) NOT NULL,
  [CreateDate] [date] NULL,
  [CreateTime] [time](7) NULL
) ON [PRIMARY]

查看ado.net下是否有效

using var con = new SqlConnection("server=.;database=testdb;uid=sa;pwd=sa;TrustServerCertificate=True;");
var sql = @"
INSERT INTO [dbo].[Test]
           ([CreateDate]
           ,[CreateTime])
     VALUES
           (@CreateDate
           ,@CreateTime)";
using var cmd = new SqlCommand(sql, con);
con.Open();
cmd.Parameters.Add(new SqlParameter("@CreateDate", SqlDbType.Date) { Value = DateOnly.FromDateTime(DateTime.Now) });
cmd.Parameters.Add(new SqlParameter("@CreateTime", SqlDbType.Time) { Value = TimeOnly.FromDateTime(DateTime.Now) });
cmd.ExecuteNonQuery();

看来还没有适配这种类型(现在是Preivew版)

 

  想要更快更方便的了解相关知识,可以关注微信公众号 

 

 

标签:10,12,Console,C#,TimeOnly,DateTime,WriteLine,Date,new
来源: https://www.cnblogs.com/axzxs2001/p/16191979.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有