DateTime
来源:互联网 发布:僵尸题材单机游戏知乎 编辑:程序博客网 时间:2024/05/22 05:23
描述:
假设银行利率为p%每年,你有a0元钱,希望得到a元,至少需要多久?设初始日期为2016-01-01,写一个方法,以”yyyy-mm-dd”的格式返回得到a的日期。
例如:
date_nb_days(100, 101, 0.98) –> “2017-01-01” (366 days)
date_nb_days(100, 150, 2.00) –> “2035-12-26” (7299 days)
注意:银行将360天视为一年,因此一天的利率应为p/36000
MyCode:
using System;using System.Linq;public class DateDays { public static string DateNbDays(double a0, double a, double p) { int dayCount = 0; int year = 2016; int month = 1; int[] bm = { 1,3,5,7,8,10,12 }; int[] sm = { 4,6,9,11 }; while (a0 < a) { a0 = a0 * (1 + p / 36000); dayCount++; } while (dayCount >= 366) { dayCount = year % 4 == 0 ? dayCount - 366 : dayCount - 365; year++; } while (dayCount >= 31) { if (month == 2 && year % 4 == 0) dayCount -= 29; if (month == 2 && year % 4 != 0) dayCount -= 28; if (bm.Contains(month)) dayCount -= 31; if (sm.Contains(month)) dayCount -= 30; month++; } int day = dayCount + 1; string retMonth = month < 10 ? "0"+month.ToString() : month.ToString(); string retDay = day < 10 ? "0"+day.ToString() : day.ToString(); return String.Format("{0}-{1}-{2}",year.ToString(),retMonth,retDay); }}
CodeWar:
using System;public class DateDays { public static String DateNbDays(double a0, double a, double p) { DateTime Start = new DateTime(2016,1,1); int days = 0; double dayP = p / 36000; while(a0 < a) { a0 *= (1 + dayP); days++; } return Start.AddDays(days).ToString("yyyy-MM-dd"); }}
1 0
- DateTime
- DATETIME
- datetime
- DateTime
- DateTime
- datetime
- DateTime
- datetime
- DateTime
- datetime
- datetime
- DateTime
- DateTime
- datetime
- datetime
- datetime
- 'datetime.datetime' has no attribute 'datetime'问题
- DateTime比较
- linux文件系统
- linux开启内部路由转发功能
- iOS 断言(NSAssert)的使用
- 将多个csv文件合并到一个excel文件的不同的sheet中
- 文章标题
- DateTime
- 基于SOCKET机制的TCP协议通讯
- Netty中ChannelOption中各个字段表示内容
- 从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法
- spark基本概念
- Java设计模式----外观模式(Facade)
- hbase 基本命令
- sap abap alv 实现某行,单元格可编辑与不可编辑 REUSE_ALV_GRID_DISPLAY_LVC
- IIS是如何处理HTTP请求