news 2026/4/23 19:07:01

C# 数学运算与日期处理全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 数学运算与日期处理全解析

第五次

一, Math 提供一些关于数学运算的方法

1,Math.PI 用于求圆周率

用法:Console.WriteLine(Math.PI)

4,

2,Math.Floor() 用于向下求整

Console.WriteLine(Math.Floor(2.1)); //2

Console.WriteLine(Math.Floor(-3.1)); //-4

3,Math.Ceiling() 用于向上求整

Console.WriteLine(Math.Ceiling(3.1)); //向上求整 4

Console.WriteLine(Math.Ceiling(-3.1)); // -4

4,所谓银行家输入法,其实质是一种四舍六入五取偶(又称四舍六入五取双)法。其规则是:当舍去位的数值小于5时直接舍去该位;当舍去位的数值大于等于6时在舍去该位的同时向前位进一;当舍去位的数值等于五时如果前位数值为奇,则在舍去该位的同时向前位进一,如果前位数值为偶,则直接舍去该位

5,Math.Round() 四舍五入

Console.WriteLine(Math.Round(4.6)); //四舍五入 5s
Console.WriteLine(Math.Floor(4.4)); // 4
Console.WriteLine(Math.Floor(-4.4)); //-4

6, Math.Abs() 求绝对值

Console.WriteLine(Math.Abs(-1)); // 求绝对值 1

7,Math.Max() 求最大值

Console.WriteLine(Math.Max(-10,1)); // 求最大值

8,Math.Min() 求最小值

Console.WriteLine(Math.Min(-10, 1)); // 求最小值

9,Math.Sqrt() 进行开方运算

Console.WriteLine(Math.Sqrt(9)); // 开方运算

10,Math .pow(a,b) a的b次方

Console.WriteLine(Math.Pow(2,5)); // 2的5次方

11,Math 中关于正弦,余弦,正切 的用法

Console.WriteLine(Math.Sin(Math.PI/6)); // sin30° 正弦0.5
Console.WriteLine(Math.Cos(Math.PI / 3));//cos60° = 0.5
Console.WriteLine(Math.Tan(Math.PI / 4)); //正切90°=1

12,Math中 关于log ,ln的一些相关用法

Console.WriteLine(Math.Log10(1000));// 10的多少次方等于1000返回指定数字以10为底的对数是多少
Console.WriteLine(Math.Log(10));// 返回指定以e为底的对数是多少

13,Math.BigMul() 返回 两个数的乘积
Console.WriteLine(Math.BigMul(10, 999)); //9990返回两个数字乘积

二,关于数据类型的API和属性

1, Console.WriteLine(double.NegativeInfinity); //negative 消极的 负无穷大 -∞
2,Console.WriteLine(double.PositiveInfinity); //Positive 积极的,正无穷大 ∞
3,Console.WriteLine(int.MaxValue);//214748 整型的最大值
4,Console.WriteLine(int.MinValue);// -214748 型的最小值
5,Console.WriteLine(decimal.MaxValue);//十进制数最大值
6,Console.WriteLine(decimal.MinValue);//十进制数最小值
7,Console.WriteLine(sbyte.MaxValue);// 字符的最大值 127

三, 日期对象

1,DateTime日期的类,提供一些获取当前时间,时间格式化,计算时间戳等功能

2,DateTime time = DateTime.Now; //获取当前时间

//可以时间对象转化成字符串进行打印
Console.WriteLine(time.ToString()); //2025/12/5
Console.WriteLine(time.Year); // 获取年

Console.WriteLine(time.Month);//月

Console.WriteLine(time.Day); //日

Console.WriteLine(time.Hour); //小时

Console.WriteLine(time.Minute); //分钟

Console.WriteLine(time.Second); //秒

Console.WriteLine(time.Millisecond); //毫秒

Console.WriteLine(time.Millisecond); //当前星期

3,根据一些特殊符号获取对应时间

Console.WriteLine(time.ToString("yy")); //年的后两位 重点
Console.WriteLine(time.ToString("yyyy"));//2025 重点
Console.WriteLine(time.ToString("MM")); //当前月份 表示如果6 打印06
Console.WriteLine(time.ToString("MMM"));//12月 操作系统是Win11是12月, 低版本是十二月
Console.WriteLine(time.ToString("MMMM"));//完整月 十二月
Console.WriteLine(time.ToString("dd")); // 05 重点
Console.WriteLine(time.ToString("ddd"));//一周中某天 周五
Console.WriteLine(time.ToString("dddd")); //一周中某天完整 星期五
Console.WriteLine(time.ToString("hh"));//十二小时制 02
Console.WriteLine(time.ToString("HH"));//二十四小时制 两位数 21
Console.WriteLine(time.ToString("mm"));//分钟 两位数 09
Console.WriteLine(time.ToString("ss")); //秒 两位数
Console.WriteLine(time.ToString("fff")); //千分之一秒 毫秒数

4,关于时间戳对象
new DateTimeOffset(time) 时间戳对象, 获取当前时间的时间戳对象

DateTimeOffset off = new DateTimeOffset(time);
Console.WriteLine(off.ToUnixTimeMilliseconds()+""); //从1970年到目前之间的毫秒数1764940728232
Console.WriteLine(off.ToUnixTimeSeconds()+"");// 从1979年到目前的秒数 1764940728

5,指定创建时间对象

DateTime birthDate = new DateTime(2003, 09, 27, 14, 51, 40);
Console.WriteLine(birthDate.ToString());
DateTimeOffset off1 = new DateTimeOffset(birthDate); //获取出生时的时间戳
DateTimeOffset off2 = new DateTimeOffset(DateTime.Now); //获取当前时间的时间戳
Console.WriteLine(off2.ToUnixTimeSeconds() - off1.ToUnixTimeSeconds());//从出生时到现在的秒数

6,也可以通过一些字符 快速格式化日期字符串

Console.WriteLine(time.ToString("G")); //常规日期时间 2025/12/5/。。。
Console.WriteLine(time.ToString("F"));// 完整日期时间 2025年12月5日。。。
Console.WriteLine(time.ToString("D")); //长日期 2025年12月5日

Console.WriteLine(time.DayOfYear); //一年当中的第几天
Console.WriteLine((int)time.DayOfWeek); //枚举类型可以进行强制转换成整型的 5 :0 代表周日
Console.WriteLine(time.ToString("今年是第yyyy
年"));

7, Thread.Sleep(1000); 表示线程休眠1000毫秒 ,线程休眠1秒

四,关于日期的计算方法

1,先获取当前时间

DateTime time = DateTime.Now; //获取当前时间

相关用法在下面代码中展示:

“ 上文 为本次第五部分内容,后续将不定时更新,若对主题感兴趣,欢迎订阅获取更新通知."

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!