[펌]C# DateTime함수 기능들 설명 스케쥴

class ReadFromFile

// 프로그램 시작시간
DateTime startTime = DateTime.Now;

// 1. 현재시간
DateTime now;
now = DateTime.Now;

Console.WriteLine(now); // 현재시간 전체
Console.WriteLine(now.Year); // 현재 년도
Console.WriteLine(now.Month); // 현재 달
Console.WriteLine(now.Day); // 현재 일
Console.WriteLine(now.DayOfWeek); // 현재 주
Console.WriteLine(now.DayOfYear); // 1년중 몇일째인지
Console.WriteLine(now.TimeOfDay); // 금일 자정부터 몇시간
Console.WriteLine(now.Hour); // 시간
Console.WriteLine(now.Minute); // 분
Console.WriteLine(now.Second); // 초
Console.WriteLine(now.Millisecond); // 1000분의 1초

Console.WriteLine(now.Ticks); // 1000분의 1초

// 2. 임의시간 설정
DateTime birthday;
birthday = DateTime.Parse("2009년8월9일"); // 시분초 미지정시 자정으로
birthday = DateTime.Parse("2009/08/09");

Console.WriteLine(birthday);

DateTime xmas;
xmas = new DateTime(2008, 12, 25, 0, 0, 0);

Console.WriteLine(xmas);

// 3. 연산

// 3.1 오늘 + 100일
now = DateTime.Now;
DateTime result = now.AddDays(100); // 각 단위별 add메소드가 존재 MSDN참고

Console.WriteLine(result);

// 3.2 크리스마스까지 남은 날
TimeSpan result2 = xmas - now;
Console.WriteLine(result2);
Console.WriteLine(result2.Days); // NNN일 (내림표현)
Console.WriteLine(result2.TotalDays); // NNN.NNNNNNN일 (더정확)

// 3.3 오늘 - 100일
Console.WriteLine(now - TimeSpan.FromDays(100));
Console.WriteLine(now.AddDays(-100));

// 4. 날짜시간 출력형식 지정
Console.WriteLine(now.ToLocalTime()); // 2008-08-08 오전 10:31:25

Console.WriteLine(now.ToLongDateString()); // 2008년 8월 8일 금요일
Console.WriteLine(now.ToShortDateString()); // 2008-08-08

Console.WriteLine(now.ToLongTimeString()); // 오전 10:31:25
Console.WriteLine(now.ToShortTimeString()); // 오전 10:31

// 프로그램 종료시간
DateTime endTime = DateTime.Now;

Console.WriteLine("프로그램 수행시간 : {0}/ms", (double)(endTime - startTime).Ticks / 1000000.0F);



함수 오버로딩과 디폴트default 매개변수

1번함수 int calc(int a, int b, int c) {return a+b+c}
2번함수 int calc(int a, int b)
3번함수 double calc(double a, double b)
4번함수 double calc(double a, double b, double c)

int main(void)
{
 int a, int s, int d;
 double q, double w, double e;
 calc(a, s); //2번함수 호출
 calc(q, w); //3번함수 호출
 return 0;
}

5번함수 void calc(int a, int b)
2번함수와 반환형태만 다르다.
이 경우에는 오버로딩이 안됨

디폴트default 매개변수
1번함수를 변형해서 int calc(int a=1, int b=2, int c=3)
이라고 하는 것처럼 함수 선언시 변수가 입력되지 않아을 경우 사용할 기본값을 정해주는 것
result=calc();

result값은 6이 된다. void일 경우

6번함수를 void calc(void)라고 하면
result=calc();일 경우
1번과 6번 두개가 다 호출이 가능하기 때문에..

C언어의 함수, 변수의 범위, static 변수, register 변수, 재귀함수

int main(void) // int 반환의 형태, 리턴의 형태 // main 함수의 이름 // (void) 입력의 형태
{
  
함수의 몸체
}

변수의 범위
지역변수 전역변수

#include <stdio.h>

int
a;
int Ass(void)
{
}

int main(void)
{
  int b;
}

a
는 전역변수. Ass함수와 main함수 모두에서 사용 가능
b는 main함수 내에서만 쓰이는 지역변수.

static
변수

----생략... 열혈강의 c 243페이지

register변수
cpu의 접근이 가장 빠른
메모리 공간인 레지스터에 변수를 저장

재귀함수
10!
팩토리얼과 같은 수학적 계산에서 사용..
무한루
프에 빠지지 않도록 주의
탈출조건을 만들어 줘야한다.

팩토리얼
n! =
nx(n-1)x(n-2)x(n-3)........x2x1

f(n)= n x (f(n-1)  //n이 1이상인 경우
       
1 //ㅜdl 0dls ruddn

위의 수식을 Pseudo Code로 작성한 것
//시작조건 :n은 0
이상이다.
시작(START):f(n) 호출
   1. 만약에 n이 0이면 1을 반환
   2. 그렇지 않다면 n ?
f(n-1)을 반환
끝 (END)

Pseudo Code : 가짜 코드 : 특정 프로그램 언어에 종속적이지 않은
코드

문자, 문자열 함수, 표준 입출력 시스템, 문자 출력 함수, 문자 입력 함수

스트림과 데이터 전송

표준 입출력 스트림
stdin -- 표준 입력 스트림 -- 키보드
stdout --
표준 출력 스트림 -- 모니터
stderr -- 표준 에러 스트림 -- 모니터

문자 출력 함수
#include
<stdio.h>
int putchar (int c);
int fputc (int c, FILE*
stream);

문자 입력 함수
#include <stdio.h>
int
getchar(void);
int fgetc(FILE* stream);

EOF
함수 호출 시 에러가
발생하면 EOF가 반환
fgetc getchar 함수가 파일의 끝에 도달하는 경우에 EOF가 반환
키보드로부터 입력을
받을 경우에는 Ctrl-Z 키의 입력을 파일의 끝이라고 정의

문자열 출력 함수
#include
<stdio.h>
int puts(const char* s);
int puts(const shar* s,
FILE* stream);

문자열 입력 함수
#include <stdio.h>
char*
gets(char* s);
char* fgets(char* s, int n, FILE* stream);

fgets
함수는 입력받을 수 있는 최대 문자열의 길이 n을 초과하는 문자열이 입력되는 경우에는 n-1개까지의 문자만 입력을 받고,
마지막에 NULL 문자열을 삽입해준다.

버퍼를 비우는 fflush 함수
#include<stdio.h>
int
fflush(FILE* stream);
// fflush의 용도는 열혈강의c 458p