黑马程序员技术交流社区
标题: 计算某天在一年中的值. [打印本页]
作者: 杨占伟 时间: 2012-12-2 11:41
标题: 计算某天在一年中的值.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyTryParse
{
class DateConstructors
{
static void Main(string[] args)
{
try
{
Date mydate = new Date(2001, 8, 29);
Console.WriteLine("Day of year = " + mydate.DayOfYear);
Console.ReadKey();
}
catch(Exception exc)
{
Console.WriteLine(exc);
}
}
}
class Date
{
//声明字段
int year;
int month;
int day;
static int[] MonthDays = new int[] { 0,31,59,90,120,151,181,212,243,273,304,334};
//构造函数
public Date()
{
Year = 1600;
Month = 1;
Day = 1;
}
public Date(int year, int month, int day)
{
if((month == 2 && IsLeapYear(year) && day >29) || (month == 2 && !IsLeapYear(year) && day > 28) || ((month == 4 || month ==6 || month == 9 || month == 11) && day > 30))
{
throw new ArgumentOutOfRangeException("Day");
}
else
{
Year = year;
Month = month;
Day = day;
}
}
//属性
public int Year
{
set
{
if (value < 1600)
throw new ArgumentOutOfRangeException("Year");
else
year = value;
}
get
{
return year;
}
}
public int Month
{
set
{
if (value < 1 || value > 12)
throw new ArgumentOutOfRangeException("Month");
else
month = value;
}
get
{
return month;
}
}
public int Day
{
set
{
if (value < 1 || value > 31)
throw new ArgumentOutOfRangeException("Day");
else
day = value;
}
get
{
return day;
}
}
public int DayOfYear
{
get
{
return MonthDays[month - 1] + day + (month > 2 && IsLeapYear(year) ? 1 : 0);
}
}
//方法
public static bool IsLeapYear(int year)
{
return (year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0));
}
}
}
作者: 许庭洲 时间: 2012-12-2 22:50
值得学习ing!
作者: 快乐之恋 时间: 2012-12-3 13:24
值得学习
作者: 贾宁 时间: 2012-12-4 11:16
值得学习
作者: 生活墨墨 时间: 2012-12-4 16:52
需要这么复杂么
作者: 赵保磊 时间: 2012-12-4 17:24
简便方法:
需导入 java.util.*; java.text.*;
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat(yyyy年MM月dd日 E hh:mm:ss);
//这里会输出当前日期,而SimpleDateFormat 是我们用来控制输出格式的y代表年,M代表月份,d代表日 E代表星期几 h/m/s分别为 时分秒
String time=sdf.format(d);
System.out.pintln("time"+time);//会输出 2012年12月04日 星期一 17:06:30 需要控制星期输出,让其加一
Calendar ca=Calendar.getInstance();
System.out.println(ca);//会获取一个日历 包含各种日期信息
System.out.pintln(c.get(Calendar.YEAR)+"年");//输出年份
System.out.pintln(c.get(Calendar.DAY_OF_YEAR)+"年");//输出是一年中的第几天
作者: 李龙祺 时间: 2012-12-9 21:03
看得累啊
作者: 汪磊 时间: 2012-12-10 12:04
没必要那么麻烦啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |