2013-07-20 62 views
1

我正在尝试构建一个工作中断跟踪器,我想要一个按钮来显示标签中的当前时间。我尝试了多种解决方案,这是我得到了多少。获取当前时间以在标签中显示。 VB.net

Sub AddButtonClick(sender As Object, e As EventArgs)   
     Dim Start as Integer 
     System.DateTime.Now = Start 
     total.Text = Start  
End Sub 

当我这样做,我得到的错误,属性'现在'是只读。

回答

4

尝试......

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  
    Timer1.Start() 
End Sub 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
    Label12.Text = TimeOfDay.ToString("h:mm:ss tt") 
End Sub 
+1

这里有什么'TimeOfDay'?如果它是'TimeSpan'(大概来自'DateTime.Now'),那么我不希望这个工作 - 'tt'对'DateTime'有效,但对'TimeSpan'格式不是有效。 (你需要逃避冒号。) –

+0

@JonSkeet请参阅此链接 - https://msdn.microsoft.com/en-us/library/8hhbhw4c%28v=vs.90%29.aspx – edCoder

+0

哇,这比使用TimeSpan更糟糕。但是,它会工作。我通常建议不要使用VB特定的属性。 –

3

尝试

total.Text = DateTime.Now.ToString() 

Dim theDate As DateTime = System.DateTime.Now 
total.Text = theDate.ToString() 

您声明StartInteger,而你正试图把一个DateTime在里面,这是不可能的。

12

这里有几个问题:

  • 你的任务是南辕北辙;你想一个值分配给DateTime.Now代替Start
  • DateTime.NowDateTime类型,而不是Integer的值,所以转让不反正工作
  • 没有必要有Start变量无妨;它做没有好
  • total.TextString类型的属性 - 不是DateTimeInteger

(有些只能在执行时出现,除非你有Option Strict,你真的应该。)

你应该使用:

total.Text = DateTime.Now.ToString() 

......可能指定的文化和/或FO rmat说明符,如果您想以特定格式显示结果。

+0

这正是我一直在寻找。现在只需在几分钟内设置一个差异,我就完成了。非常感谢。 – user2602702

+0

@ user2602702从另一个'DateTime'中减去一个'TimeSpan'会产生一个'TotalMinutes'属性(一个'Double'),它应该告诉你你需要知道什么...... – Basic

+0

@ user2602702:现在我已经接受了,看起来它不会起作用,对我来说 - 你能澄清这个答案中缺少的东西吗,所以我可以改进它吗? –

0

使用Date.Now而不是DateTime.Now

+0

这不提供问题的答案。一旦你有足够的[声誉](https://stackoverflow.com/help/whats-reputation),你将可以[对任何帖子发表评论](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/19050606) – Mayur

+0

@Mayur在我看来,这是一个答案(虽然是一个简短的答案)。只有在问题或“感谢”作为答案发布时,或者它是仅链接答案时才应该删除答案;简答题或错误答案不应删除。请参阅[您做错了:在低质量帖子队列中请求理智](https://meta.stackoverflow.com/questions/287563/youre-doing-it-wrong-a-plea-for-sanity -in最低质职位队列)。 – NobodyNada