MaiOM
MaiOM

Reputation: 936

Getting a short day name

I was wondering on how to write a method that will return me a string which will contain the short day name, example:

public static string GetShortDayName(DayOfWeek day)

now if i call:

string monday = GetShortDayName(DayOfWeek.Monday);

I will get back "mo" if culture is en, or "lu" if culture is at example it.

Upvotes: 28

Views: 48538

Answers (5)

mcNux
mcNux

Reputation: 1501

You can use "ddd" in in a custom format string to get the short day name. For example.

DateTime.Now.ToString("ddd");

As suggestby @Loudenvier in comments.

Upvotes: 22

dedpichto
dedpichto

Reputation: 220

DateTimeFormatInfo.ShortestDayNames

Gets or sets a string array of the shortest unique abbreviated day names associated with the current DateTimeFormatInfo object.

Upvotes: 5

Jon Skeet
Jon Skeet

Reputation: 1504182

You can use DateTimeFormatInfo.AbbreviatedDayNames. For example:

string[] names = culture.DateTimeFormat.AbbreviatedDayNames;
string monday = names[(int) DayOfWeek.Monday];

Upvotes: 64

CloudyMarble
CloudyMarble

Reputation: 37576

try:

CultureInfo english = new CultureInfo("en-US");
string sunday = (english.DateTimeFormat.DayNames[(int)DayOfWeek.Sunday]).Substring(0, 2);

Or:

dateTimeFormats = new CultureInfo("en-US").DateTimeFormat;
string sunday = (dateValue.ToString("dddd", dateTimeFormats)).Substring(0, 2);

Upvotes: 1

Oded
Oded

Reputation: 499402

The closest you can get is use a custom date and time format string - specifically ddd.

This will return an abbreviation - you can substring the result to get to 2 characters.

You will need to use a DateTime with a day corresponding to the day of week you wish.

Upvotes: 10

Related Questions