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#读取QQ纯真IP数据库QQWry.Dat的代码

    C#读取QQ纯真IP数据库QQWry.Dat的代码

    QQ纯真IP库算是IP地址收集较为全的一个IP库,对于IP查询来说这个是不错的选择。下面是如何查询纯真IP库的一个类,使用C#代码。
    2007-03-03
  • C#中使用基数排序算法对字符串进行排序的示例

    C#中使用基数排序算法对字符串进行排序的示例

    Radix Sort基数排序是非比较型的排序算法,其时间复杂度是O(k·n),n为元素个数,为数字位数,这里我们就来看一下C#中使用基数排序算法堆字符串进行排序的示例
    2016-06-06
  • C#中的HttpWebRequest类介绍

    C#中的HttpWebRequest类介绍

    本文详细讲解了C#中的HttpWebRequest类,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • C#实现的字符串相似度对比类

    C#实现的字符串相似度对比类

    这篇文章主要介绍了C#实现的字符串相似度对比类,本文直接给出类实现代码,代码中包含详细注释,需要的朋友可以参考下
    2015-07-07
  • C# wpf实现截屏框热键截屏的示例代码

    C# wpf实现截屏框热键截屏的示例代码

    这篇文章主要为大家详细介绍了C# wpf实现截屏框热键截屏的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以学习一下
    2023-09-09
  • C#实现俄罗斯方块基本功能

    C#实现俄罗斯方块基本功能

    这篇文章主要为大家详细介绍了C#实现俄罗斯方块的基本功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C#并发编程之Task类详解

    C#并发编程之Task类详解

    Task是建立在线程池之上的一种多线程技术,它的出现使Thread成为历史。其使用方法非常简单,本文就来通过几个示例为大家讲讲它的具体使用吧
    2023-03-03
  • C#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍历方法对比

    C#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,

    本文对C#中常见集合ArrayList,Hashtable,List<T>,Dictionary<K,V>遍历方法做了简单的对比和介绍,有需要的朋友可以参考一下。
    2016-03-03
  • WPF InkCanvas绘制矩形和椭圆

    WPF InkCanvas绘制矩形和椭圆

    这篇文章主要为大家详细介绍了WPF InkCanvas绘制矩形和椭圆,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • C# Winform 让整个窗口都可以拖动

    C# Winform 让整个窗口都可以拖动

    Windows 的 API 果然强大啊.以前要实现全窗口拖动, 要写鼠标按下和抬起事件, 很是麻烦, 偶尔还会出现 BUG
    2011-05-05

最新评论