数学运算与时间处理的编程技巧

数学运算Math,时间处理

数学运算Math


 //Math 提供一些关于数学运算的方法
Console.WriteLine(Math.PI);//圆周率 
Console.WriteLine(Math.Floor(2.1)); //向下求整  2
Console.WriteLine(Math.Floor(-3.1));//-4

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


//所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。其规则是:当舍去位的数值小于5时,直接舍去该位;当舍去位的数值大于等于6时,
//在舍去该位的同时向前位进一;当舍去位的数值等于5时,如果前位数值为奇,则在舍去该位的同时向前位进一,如果前位数值为偶,则直接舍去该位。
Console.WriteLine(Math.Round(4.6));// 四舍五入 5
Console.WriteLine(Math.Round(4.4)); //4
Console.WriteLine(Math.Round(-4.4));//-4
Console.WriteLine(Math.Abs(-1)); //绝对值1

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

Console.WriteLine(Math.Sqrt(9));// 开方运算 3
Console.WriteLine(Math.Pow(2,5));//2的5次方


Console.WriteLine(Math.Sin(Math.PI/6));//正弦0.5  sin30度 = 0.5
Console.WriteLine(Math.Cos(Math.PI/3));//cos60度 = 0.5
Console.WriteLine(Math.Tan(Math.PI/4)); //正切45度1
Console.WriteLine(Math.Log10(1000)); //2 10的多少次方等于1000, 返回指定数字以10为底的对数是多少
Console.WriteLine(Math.Log(10)); //返回指定数字以e为底的对数是多少
Console.WriteLine(Math.BigMul(10,999)); //9990 返回俩个数字乘积

//关于数据类型的API和属性
//Console.WriteLine(double.NegativeInfinity);//Negative消极 负无穷大-∞
//Console.WriteLine(double.PositiveInfinity);//正无穷大∞
//Console.WriteLine(int.MaxValue);//2147483647 整型的最大值
//Console.WriteLine(int.MinValue);// -2147483648 整型的最小值
//Console.WriteLine(decimal.MaxValue);//十进制数最大值 79228162514264337593543950335
//Console.WriteLine(sbyte.MaxValue);//127 
        

时间处理

      

// DateTime日期的类,提供一些获取当前时间、时间格式化、计算时间戳等功能
            DateTime time = DateTime.Now; // 获取当前时间
            
// 可访问的类型是字符串进行打印
            Console.WriteLine(time.ToString()); // 2025/12/5 14:56:34
            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.DayOfWeek);  // 当前的星期
            
            // 根据一些特殊的符号获取对应时间格式
            Console.WriteLine(time.ToString("yy"));     // 年的后两位
            Console.WriteLine(time.ToString("yyyy"));   // 2025
            Console.WriteLine(time.ToString("MM"));     // 月份,两位数表示
            Console.WriteLine(time.ToString("MMMM"));   // 十二月(操作系统相关)
            Console.WriteLine(time.ToString("ddd"));    // 周五(简写)
            Console.WriteLine(time.ToString("dddd"));   // 星期五(完整)
            Console.WriteLine(time.ToString("hh"));     // 12小时制 02
            Console.WriteLine(time.ToString("HH"));     // 24小时制 14
            Console.WriteLine(time.ToString("mm"));     // 分钟 28
            Console.WriteLine(time.ToString("ss"));     // 秒
            Console.WriteLine(time.ToString("fff"));    // 毫秒数
            
            // 时间戳对象
            // new DateTimeOffset(time) 创建时间戳对象
            DateTimeOffset off = new DateTimeOffset(time);
            Console.WriteLine(off.ToUnixTimeMilliseconds()); // 从1970年到目前的毫秒数
            Console.WriteLine(off.ToUnixTimeSeconds());     // 从1970年到目前的秒数
            
            // 指定时间创建时间对象
            DateTime birthDate = new DateTime(2005, 12, 5, 14, 43, 50);
            Console.WriteLine(birthDate.ToString()); // 2005/12/5 14:43:50
            
            DateTimeOffset off1 = new DateTimeOffset(birthDate);   // 获取出生时间的时间戳
            DateTimeOffset off2 = new DateTimeOffset(DateTime.Now); // 获取当前时间的时间戳
            Console.WriteLine(off2.ToUnixTimeSeconds() - off1.ToUnixTimeSeconds()); // 时间(秒)
            
            // 快速格式化日期字符串
            Console.WriteLine(time.ToString("G")); // 2025/12/5 14:52:33
            Console.WriteLine(time.ToString("F")); // 2025年12月5日 14:53:16
            Console.WriteLine(time.ToString("D")); // 2025年12月5日
            
            Console.WriteLine(time.DayOfYear);              // 一年中的第几天
            Console.WriteLine((int)time.DayOfWeek);         // 枚举转整数(0代表星期日)
            Console.WriteLine(time.ToString("今年是:yyyy年")); // 自定义格式
            
            // 实时时钟显示
            while (true)
            {
                Console.Clear();
                Console.WriteLine(DateTime.Now.ToString());
                Thread.Sleep(1000); // 线程休眠1000ms(1秒)
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值