01数学运算
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _02
{
class Program
{
static void Main(string[] args)
{
//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));// 开方运算
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)); //正切90度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
Console.ReadKey();
}
}
}
02日期对象
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace _03日期对象
{
internal class Program
{
static void Main(string[] args)
{
//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")); //两位月份 表示如果6 打印06 重点
Console.WriteLine(time.ToString("MMMM")); //十二月 操作系统是win11是12月,低版本系统是十二月
Console.WriteLine(time.ToString("dd")); //日
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年到目前之间毫秒数 1764916800451
Console.WriteLine(off.ToUnixTimeSeconds()); //从1970年到目前之间秒数 1764916885
//指定时间创建时间对象
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()); //631152386
//也可以通过一些字符 快速格式化日期字符串
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); //枚举类型可以进行强制转换整数的 5 : 0代表星期日
Console.WriteLine(time.ToString("今年是:yyyy年")); //今年是:2025年
while (true)
{
Console.Clear();
Console.WriteLine(DateTime.Now.ToString());
Thread.Sleep(1000); //线程休眠1000ms,线程休眠1s
}
Console.ReadKey();
}
}
}
03日期计算方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _04日期计算方法
{
internal class Program
{
static void Main(string[] args)
{
DateTime time = DateTime.Now; //获取当前时间
time = time.AddYears(1); //在原先上家加1年
time = time.AddMonths(1);
time = time.AddDays(1);
time = time.AddHours(1);
time = time.AddMinutes(1);
time = time.AddSeconds(1);
time = time.AddMilliseconds(1);
Console.WriteLine(time.ToString());
time = DateTime.Now.AddYears(-10); //10年前
Console.WriteLine(time.ToString());
if(DateTime.Now < new DateTime(2026,1,1)) //当前时间与2026进行比较
{
Console.WriteLine("2026之前");
}
else
{
Console.WriteLine("2026之后");
}
// 获取距离时间点还有多长时间
//时间标签 时间戳
TimeSpan span = new DateTime(2025, 12, 5,16,02,00) - DateTime.Now;
Console.WriteLine(span.Days); // 时间点相差的天数
Console.WriteLine(span.TotalSeconds);//总秒数
Console.ReadKey();
}
}
}