【问题标题】:Get first three characters from DayOfWeek , Month [duplicate]从 DayOfWeek , Month 获取前三个字符[重复]
【发布时间】:2018-06-04 06:20:25
【问题描述】:

我有一个约会时间:

DateTime dt = new DateTime(2003, 5, 1);
dt.DayOfWeek // returns Thursday

我如何才能从DayOfWeek 中只拆分前三个字符,例如Thu?

【问题讨论】:

标签: c# asp.net datetime dayofweek


【解决方案1】:

Marcs 方法在这里是最好的。但是,如果我以更一般的方式理解您的问题,如何获取enum-value 的前三个字母,如果您使用enum.ToString,则可以使用字符串方法:

DateTime dt = new DateTime(2003, 5, 1);
string dow = dt.DayOfWeek.ToString();
dow = dow.Length > 3 ? dow.Remove(3) : dow;

【讨论】:

    【解决方案2】:

    如果您的意思是让它在不同的文化中发挥作用,那么您最好的选择可能是:

    var abbr = culture.DateTimeFormat.GetAbbreviatedDayName(dayOfWeek);
    

    其中cultureCultureInfo,例如:

    var culture = CultureInfo.CurrentCulture;
    

    在英语文化中,这是 3 个字母的版本:

    Sun
    Mon
    Tue
    Wed
    Thu
    Fri
    Sat
    

    【讨论】:

    • 如果我一个月都这样做呢?
    • @Asif.Ali 然后:GetAbbreviatedMonthName
    • 如果日期时间格式是12/21/2017,我应该放在哪里?
    • @Asif.Ali “我应该放在哪里”是什么意思?您专门询问了 3 字母(缩写)版本的东西 - “日期时间格式”无关紧要:一旦解析,DateTime 没有格式;但是,它确实有一个.Month.DayOfWeek
    猜你喜欢
    • 2014-07-13
    • 2011-04-16
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2017-05-23
    相关资源
    最近更新 更多