如何将“ddd”日期时间格式更改为数字视图

5
我希望能够通过点击按钮来显示当前时间,我已经编写了以下代码。但是我的问题是:我怎样才能把当前星期的“ddd”(星期几)以数字而不是文字形式显示。例如: 00-星期日 01-星期一 等等...
以下是该按钮的代码:
private void SetClock_Click(object sender, EventArgs e)
        {
            SetClock.Click += new EventHandler(SetClock_Click);
            {
                DateTime time = DateTime.Now;
                string format = "yy-MM-dd-ddd-hh-mm-ss"; 
                txtSend.Text = time.ToString(format);

            }
        }

我需要添加什么来让它变得完整。谢谢。

每天的数字会是多少?ddd的含义是由格式规则定义的 - 这不是您可以控制的内容。 - Oded
4个回答

4
txtSend.Text = string.Format("{0:yy-MM-dd}-{1:00}-{0:hh-mm-ss}", time, (int)time.DayOfWeek);

请注意,这将给出012等,而不是000102等。 - Rawling
已更正,按照原问题的措辞进行修正。 - Cole Cameron

1

不需要格式,你可以将 DayOfWeek 强制转换为 int

var dayAsInt = (int)DateTime.Now.DayOfWeek;

看了一下自定义日期和时间格式字符串页面,好像没有相应的格式字符串 :-(


1
以下应该可以解决问题:
txtSend.Text =
    time.ToString("yy-MM-dd-") +
    ((int)time.DayOfWeek).ToString("00") +
    time.ToString("-hh-mm-ss"); 

嘿,这些人怎么了? - Rawling
它获取日期的星期几,而不是基于从周日开始为0,周六为6的数字表示。 - Adam Houldsworth
问题要求以数字形式显示“ddd”(一周中的某一天),而不是用文字表示,并给出了星期日为“00”,星期一为“01”的示例。这正是此代码所实现的,不是吗? - Rawling
顶部答案也是这样做的,尽管只有一个数字。 - Rawling
哦,算了吧,我一开始以为你的答案是另一个问题的答案,但实际上这个确实可以(技术上来说,这个完全符合要求,而另一个不行)。我不知道为什么有人会给你点踩,但那不是我。送你一个同情加一哈哈。 - Adam Houldsworth
好的,谢谢你的安慰 :) (我也给另一个回答点了赞,因为他也被踩了 ^^) - Rawling

0
你可以使用这个来获取星期几的数字。
int dayofweek = (int)DateTime.Now.DayOfWeek;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接