Checking on Date and Time (C#)

vegaseat 0 Tallied Votes 1K Views Share

Is it Mother Date and Father Time? Any way, getting all the different date and time displays working can be imperturbably perplexing at times. You take a look at it in this Windows Console Application.

// retrieve and format date/time data
// tested with VCS.NET 2003

using System;  // has all the date/time stuff
  
class myApp
{
  public static void Main()
  {
    DateTime CurrTime = DateTime.Now;
  
    Console.WriteLine("DateTime display listing specifier and result:\n");

    Console.WriteLine("d = {0:d}", CurrTime );  // Short date mm/dd/yyyy
    Console.WriteLine("D = {0:D}", CurrTime );  // Long date day, month dd, yyyy
    Console.WriteLine("f = {0:f}", CurrTime );  // Full date/short time day, month dd, yyyy hh:mm
    Console.WriteLine("F = {0:F}", CurrTime );  // Full date/full time day, month dd, yyyy HH:mm:ss AM/PM
    Console.WriteLine("g = {0:g}", CurrTime );  // Short date/short time mm/dd/yyyy HH:mm
    Console.WriteLine("G = {0:G}", CurrTime );  // Short date/long time mm/dd/yyyy hh:mm:ss
    Console.WriteLine("M = {0:M}", CurrTime );  // Month dd
    Console.WriteLine("R = {0:R}", CurrTime );  // ddd Month yyyy hh:mm:ss GMT
    Console.WriteLine("s = {0:s}", CurrTime );  // yyyy-mm-dd hh:mm:ss  can be sorted!
    Console.WriteLine("t = {0:t}", CurrTime );  // Short time hh:mm AM/PM
    Console.WriteLine("T = {0:T}", CurrTime );  // Long time hh:mm:ss AM/PM
    Console.WriteLine("u = {0:u}", CurrTime );  // yyyy-mm-dd hh:mm:ss  universal/sortable
    Console.WriteLine("U = {0:U}", CurrTime );  // day, month dd, yyyy hh:mm:ss AM/PM
    Console.WriteLine("Y = {0:Y}", CurrTime );  // Month, yyyy
    Console.WriteLine();
    Console.WriteLine("DateTime.Month     = " + CurrTime.Month);      // number of month
    Console.WriteLine("DateTime.DayOfWeek = " + CurrTime.DayOfWeek);  // full name of day
    Console.WriteLine("DateTime.TimeOfDay = " + CurrTime.TimeOfDay);  // 24 hour time
    
    // number of 100-nanosecond intervals that have elapsed since 1/1/0001, 12:00am
    // useful for time-elapsed measurements
    Console.WriteLine("DateTime.Ticks     = " + CurrTime.Ticks);

    Console.Read();  // wait
  }
}

Dani AI

Generated

A few concise, practical follow-ups that add to 's formatting demo and answer 's question.

For A(DateTime) + B(hours) <= C: compute the new instant with DateTime.AddHours and then compare the resulting DateTime to C. AddHours returns a new DateTime and will roll into the next day automatically; for correctness across zones or daylight-saving transitions prefer converting to UTC or use DateTimeOffset so the instant is unambiguous. Also make sure both operands you compare share the same time basis (both UTC, both Local, or both DateTimeOffset). (learn.microsoft.com)

// compute A + B hours, then compare to C
DateTime adjusted = A.AddHours(B);
if (adjusted <= C)
{
    // condition satisfied
}

Guard against ArgumentOutOfRange when adding very large/small hour counts, and validate that A and C use the same Kind (or convert to/from UTC or DateTimeOffset) before comparing. (learn.microsoft.com)

Formatting and UI gotchas: 's idea to use custom ToString is good, but watch the specifiers — uppercase MM means month while lowercase mm means minutes, so pick the right tokens when building format strings. For showing time in WinForms (as tried), set the control text to a string (for example via CurrTime.ToString(...)). For "greeting by time" ideas from , comparing DateTime.Hour (or using TimeOnly on modern .NET) is simple and reliable; remember to treat culture/formatting separately from the underlying comparisons. (learn.microsoft.com)

dananos 0 Newbie Poster

It should be also mentioned that you can combine these as in DateTime.Now.ToString("dd/MM/yyyy h:MM tt") - for 13/12/2007 5:04 PM as an example

hwa 0 Newbie Poster

Hi,

May I know how to make the following comparison:

A(Date/Time) + B(Integer, in HOUR) <= C.

if after A+B is next day of the date A then is should be increase one day then only compare with C.

How can I make it !!

Thanks in advance

jakoo1983 0 Newbie Poster

If Iwant Do that in Windows Form
//.................................
DateTime CurrTime = DateTime.Now;
t1.text=CurrTime;

sfarhan 0 Newbie Poster
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

//Farhan program for date validation

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {

            string date =
medelmhanga 0 Newbie Poster

Hi,
Suppose i want to write the code which will tell/great the user according to time e.g Goodmorning, goodvening e.t.c. How may i write this code.

Mitja Bonca 557 Nearly a Posting Maven

You can convert DateTime value to an integer, to get the hour and minutes seperated values. And then use them to compare to the hours which defines to when you say good morning and afternoon.

DateTime time = DateTime.Now;
            int hour = time.Hour;
            int minutes=time.Minute;
            if (hour <= 12)
                Console.WriteLine("Good morning");
            else if (hour >= 12 && minutes >= 1)
                Console.WriteLine("Good afternoon");
            Console.ReadLine();

Hope it helps,
Mitja

abiwax 0 Newbie Poster

Pls how do I write d code for find and replace in c# for a notepad program

Sokh 0 Newbie Poster

Hi every one,PLS help me,I want to import Time and Date from a site to my program code in C# instead of using local Date and Time ,Can you help me?

Tsawm 0 Newbie Poster

Thank you .. I got great help

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.