Mitt Rodenbaugh
Mitt Rodenbaugh

Reputation:

How do you get the current time of day?

How do you get the current time (not date AND time)?

Example: 5:42:12 PM

Upvotes: 318

Views: 1058219

Answers (22)

Electrionics
Electrionics

Reputation: 6772

Since .NET 6 for time operations you can use TimeOnly struct, which can be used for asked question specifically as:

var time = TimeOnly.FromDateTime(DateTime.Now);

with available custom formats and standard formats: 'r', 'R', 'o', 'O', 't' and 'T'. Fox example:

time.ToString("R"); // 17:40:11
time.ToString("O"); // 17:40:11.6259487
time.ToString("T"); // 5:40:11 PM

It's obviously more lightweight than TimeSpan, as created only for (surprise!) storage and operations over time data.

More about this class abilities, provided by it's members, you can read in official documentation

Upvotes: 0

Musikero31
Musikero31

Reputation: 3153

Try this:

DateTime.Now.ToString("HH:mm:ss tt");

For other formats, you can check this site: C# DateTime Format

Upvotes: 62

Santhosh N
Santhosh N

Reputation: 82

In my case I have used the below code to get time alone from DateTime.

var currentDateTime = DateTime.Now; 
var currentTimeAlone = new TimeSpan(currentDateTime.Hour, currentDateTime.Minute,    currentDateTime.Second); 
Console.WriteLine(currentTimeAlone);

Hope it helps for someone. :)

Upvotes: 0

farsam
farsam

Reputation: 89

I think this code will solve your problem

DateTime.Now.ToString("HH:mm")

Upvotes: 7

Bijeesh Raghavan
Bijeesh Raghavan

Reputation: 69

Use the code below

DateTime.Now.ToString("h:mm:ss tt")

Upvotes: 2

Stefan Schultze
Stefan Schultze

Reputation: 9388

Datetime.TimeOfDay returns a TimeSpan and might be what you are looking for.

Upvotes: 13

David Castro
David Castro

Reputation: 1957

MyEmail.Body = string.Format("The validation is done at {0:HH:mm:ss} Hrs.",DateTime.Now);

Can Use {0:HH:mm:ss}, {0:HH:mm:ss.fff}, {0:DD/mm/yyy HH:mm:ss}, etc...

Upvotes: 3

Gupta
Gupta

Reputation: 324

DateTime.Now.ToString("yyyy-MM-dd h:mm:ss tt");

just Try It's use full to your Need

Upvotes: 18

Sarat Chandra
Sarat Chandra

Reputation: 6120

var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond

Upvotes: 4

Douglas G. Allen
Douglas G. Allen

Reputation: 2261

I'm experimenting with this also and find these pages helpful as well. First the main class... https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx

Now some specifier formats for the ToString method... https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo(v=vs.110).aspx

Example:

using System;

namespace JD
{
    class Program
    {
        public static DateTime get_UTCNow()
        {
            DateTime UTCNow = DateTime.UtcNow;
            int year = UTCNow.Year;
            int month = UTCNow.Month;
            int day = UTCNow.Day;
            int hour = UTCNow.Hour;
            int min = UTCNow.Minute;
            int sec = UTCNow.Second;
            DateTime datetime = new DateTime(year, month, day, hour, min, sec);
            return datetime;
        }

        static void Main(string[] args)
        {
            DateTime datetime = get_UTCNow();            

            string time_UTC = datetime.TimeOfDay.ToString();
            Console.WriteLine(time_UTC);

            Console.ReadLine();

        }
    }
}

I threw that TimeOfDay method in there just to show that you get a default of 24 hour time as is stated "the time from midnight"

You may use my geter method(); :-D

Upvotes: 3

Husni Salax
Husni Salax

Reputation: 2020

Here we go:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));

Upvotes: 17

Albert
Albert

Reputation:

Try this one. Its working for me in 3tier Architecture Web Application.

"'" + DateTime.Now.ToString() + "'"

Please remember the Single Quotes in the insert Query.

For example:

string Command = @"Insert Into CONFIG_USERS(smallint_empID,smallint_userID,str_username,str_pwd,str_secquestion,str_secanswer,tinyint_roleID,str_phone,str_email,Dt_createdOn,Dt_modifiedOn) values ("
 + u.Employees + ","
 + u.UserID + ",'"
 + u.Username + "','"
 + u.GetPassword() + "','"
 + u.SecQ + "','"
 + u.SecA + "',"
 + u.RoleID + ",'"
 + u.Phone + "','"
 + u.Email + "','"
 + DateTime.Now.ToString() + "','"
 + DateTime.Now.ToString() + "')";

The DateTime insertion at the end of the line.

Upvotes: -7

Mark Brackett
Mark Brackett

Reputation: 85625

DateTime.Now.TimeOfDay gives it to you as a TimeSpan (from midnight).

DateTime.Now.ToString("h:mm:ss tt") gives it to you as a string.

DateTime reference: https://msdn.microsoft.com/en-us/library/system.datetime

Upvotes: 442

Hannan Hossain
Hannan Hossain

Reputation: 740

This can be a possible solution:

DateTime now = DateTime.Now;
string time = now.ToString("T");

Upvotes: 6

Ranjit Singh
Ranjit Singh

Reputation: 3735

very simple DateTime.Now.ToString("hh:mm:ss tt")

Upvotes: 2

benPearce
benPearce

Reputation: 38333

DateTime.Now.TimeOfDay

or

DateTime.Now.ToShortTimeString()

Upvotes: 25

sadhana
sadhana

Reputation: 39

To calculate the current datetime:

DateTime theDate = DateTime.UtcNow;

string custom = theDate.ToString("d");

MessageBox.Show(custom);

Upvotes: 3

Sanjay
Sanjay

Reputation: 342

This will be better, Try This one

    DateTime.Now.ToShortTimeString();

For this you don't need to specify the Format for the Time.

Upvotes: 14

Chris Fulstow
Chris Fulstow

Reputation: 41872

Another option using String.Format()

string.Format("{0:HH:mm:ss tt}", DateTime.Now)

Upvotes: 47

Khb
Khb

Reputation: 1433

This will show you only the current time, in 24 hour format:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(DateTime.Now.ToLongTimeString().ToString());
        Console.WriteLine(DateTime.Now.ToShortTimeString().ToString());
        Console.ReadLine();
    }
}

Regards
K

Upvotes: 2

Oppositional
Oppositional

Reputation: 11211

Current time with AM/PM designator:

DateTime.Now.ToString("hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("hh:mm:ss.fff tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)

Current time using 0-23 hour notation:

DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo)

Upvotes: 28

Greg D
Greg D

Reputation: 44066

Get the current date and time, then just use the time portion of it. Look at the possibilities for formatting a date time string in the MSDN docs.

Upvotes: 8

Related Questions