C#判断一天、一年已经过了百分之多少的方法

 更新时间:2015年08月17日 12:32:25   作者:北风其凉  
这篇文章主要介绍了C#判断一天、一年已经过了百分之多少的方法,涉及C#针对时间及日期的运算与判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#判断一天、一年已经过了百分之多少的方法。分享给大家供大家参考。具体如下:

这里写了四个函数,分别是

1.判断当前时间过了今天的百分之多少 static double DayTimePassed()

2.判断指定时间过了当日的百分之多少 static double DayTimePassed(DateTime dt)

3.判断当前时间过了今年的百分之多少 static double YearTimePassed()

4.判断指定时间过了当年的百分之多少 static double YearTimePassed(DateTime dt)

一、函数代码

/// <summary>
/// 判断当前时间过了今天的百分之多少
/// </summary>
/// <returns></returns>
static double DayTimePassed()
{
  DateTime dt = DateTime.Now;
  double Numerator = dt.Hour * 60 * 60 + dt.Minute * 60 + dt.Second;
  double Denominator = 24 * 60 * 60;
  return Numerator / Denominator;
}
/// <summary>
/// 判断指定时间过了当日的百分之多少
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
static double DayTimePassed(DateTime dt)
{
  double Numerator = dt.Hour * 60 * 60 + dt.Minute * 60 + dt.Second;
  double Denominator = 24 * 60 * 60;
  return Numerator / Denominator;
}
/// <summary>
/// 判断当前时间过了今年的百分之多少
/// </summary>
/// <returns></returns>
static double YearTimePassed()
{
  DateTime dt = DateTime.Now;
  double Numerator = dt.DayOfYear * 24 * 60 * 60 +
    dt.Hour * 60 * 60 + dt.Minute * 60 + dt.Second;
  double Denominator =
    (DateTime.IsLeapYear(dt.Year) ? 366 : 365) * 24 * 60 * 60;
  return Numerator / Denominator;
}
/// <summary>
/// 判断指定时间过了当年的百分之多少
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
static double YearTimePassed(DateTime dt)
{
  double Numerator = dt.DayOfYear * 24 * 60 * 60 +
    dt.Hour * 60 * 60 + dt.Minute * 60 + dt.Second;
  double Denominator =
    (DateTime.IsLeapYear(dt.Year) ? 366 : 365) * 24 * 60 * 60;
  return Numerator / Denominator;
}

二、Main函数调用

static void Main(string[] args)
{
  Console.WriteLine(DateTime.Now.ToString());
  Console.WriteLine("Day: " + DayTimePassed().ToString("P"));
  Console.WriteLine("Day: " + DayTimePassed(DateTime.Now).ToString("P"));
  Console.WriteLine("Year: " + YearTimePassed().ToString("P"));
  Console.WriteLine("Year: " + YearTimePassed(DateTime.Now).ToString("P"));
  Console.ReadLine();
}

三、运行结果

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • c#转换全角半角方法示例

    c#转换全角半角方法示例

    这篇文章主要介绍了c#如何转换全角半角,大家可以看一下下面的代码方法,可以参考一下
    2013-12-12
  • C#中常用的正则表达式实例

    C#中常用的正则表达式实例

    正则表达式在程序设计中有着重要的位置,它经常被用于处理字符串信息,下面是C#中常用的正则表达式实例,感兴趣的朋友一起看看吧
    2016-10-10
  • 详解C#如何实现一个安全的事件订阅器

    详解C#如何实现一个安全的事件订阅器

    事件订阅器是一个对象,它订阅(或监听)某个事件,并在事件发生时执行相应的操作,本文主要介绍了C#实现一个安全的事件订阅器的相关知识,感兴趣的可以了解下
    2024-01-01
  • C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法

    C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法

    这篇文章主要介绍了C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法,结合实例形式分析了WinForm图片重叠后造成图片不透明的原因与相应的解决方法,需要的朋友可以参考下
    2016-06-06
  • C#程序提示“正由另一进程使用,因此该进程无法访问该文件”的解决办法

    C#程序提示“正由另一进程使用,因此该进程无法访问该文件”的解决办法

    这篇文章主要介绍了C#程序提示“正由另一进程使用,因此该进程无法访问该文件”的解决办法,本文通过改写程序代码实现解决这个问题,需要的朋友可以参考下
    2015-06-06
  • C#中timer定时器用法实例

    C#中timer定时器用法实例

    这篇文章主要介绍了C#中timer定时器用法,实例分析了timer定时器实现定时触发事件的技巧,需要的朋友可以参考下
    2015-04-04
  • winform把Office转成PDF文件

    winform把Office转成PDF文件

    这篇文章介绍了winform把Office转成PDF文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 详解Unity日志打印工具功能

    详解Unity日志打印工具功能

    Unity是一个非常火的游戏引擎,我们再开发的时候有的时候要进行程序的调试,下面给大家介绍下Unity日志打印工具功能,感兴趣的朋友一起看看吧
    2022-01-01
  • C#之继承实现

    C#之继承实现

    本文详细讲解了C#之继承的实现,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • unity3d 对接 workerman 实现联机游戏功能

    unity3d 对接 workerman 实现联机游戏功能

    workerman 是一款开源高性能 PHP 应用容器,他除了用于互联网、即时通讯、APP 开发、硬件通讯、智能家居、物联网等领域的开发外,这篇文章主要介绍了unity3d 对接 workerman 实现联机游戏,需要的朋友可以参考下
    2022-10-10

最新评论