using
System.Threading.Tasks;
using
System.Windows.Forms;
using
Timer = System.Threading.Timer;
namespace
TimeRefresh
public
partial
class
Form1
:
Form
private
Timer _tTimeUI;
public
Form1
()
InitializeComponent();
_tTimeUI =
new
Timer(obj => TimeUI(),
null
,
1
*
1000
,
1
*
1000
);
public
void
TimeUI
()
DateTime nowDatetime = DateTime.Now;
lbl_date.Text = GetCurrentYMD(nowDatetime);
lbl_time.Text =
$"
{GetCurrentHMS(nowDatetime)}
{GetCurrentWeekDay(nowDatetime)}
"
;
public
string
GetCurrentHMS
(
DateTime CurrentDateTime,
int
hourFormat =
24
,
bool
isRefreshTime =
false
)
if
(hourFormat ==
12
)
return
CurrentDateTime.ToString(
"hh:mm:ss"
);
return
CurrentDateTime.ToString(
"HH:mm:ss"
);
public
string
GetCurrentYMD
(
DateTime CurrentDateTime,
bool
isRefreshTime =
false
)
return
CurrentDateTime.ToString(
"yyyy年MM月dd日"
);
public
string
GetCurrentWeekDay
(
DateTime CurrentDateTime,
bool
isRefreshTime =
false
)
return
CaculateWeekDay(CurrentDateTime.Year, CurrentDateTime.Month, CurrentDateTime.Day);
protected
string
CaculateWeekDay
(
int
y,
int
m,
int
d
)
if
(m ==
1
|| m ==
2
)
m +=
12
;
y--;
var
week = (d +
2
* m +
3
* (m +
1
) /
5
+ y + y /
4
- y /
100
+ y /
400
) %
7
;
var
weekstr =
""
;
switch
(week)
case
0
:
weekstr =
"星期一"
;
break
;
case
1
:
weekstr =
"星期二"
;
break
;
case
2
:
weekstr =
"星期三"
;
break
;
case
3
:
weekstr =
"星期四"
;
break
;
case
4
:
weekstr =
"星期五"
;
break
;
case
5
:
weekstr =
"星期六"
;
break
;
case
6
:
weekstr =
"星期日"
;
break
;
return
weekstr;
运行效果如下:
欢迎进qq群交流:704028989