單片機上傳給上位機的時間(年、月、日、時、分、秒),上位機通過DateTime轉換成日期型變數寫到資料庫,其它時段,資料庫存盤的時間正確,但是凌晨00:10---08:00 這段時間,資料庫存盤的時間有問題,問題如下:
1、單片機上傳的是2020年9月21日0點10分0秒
資料庫存盤的是2020年9月20日0點10分0秒。
2、單片機上傳的是2020年9月21日8點0分0秒
資料庫存盤的是2020年9月20日8點0分0秒。
3、單片機上傳的其它時段的時間,資料庫存盤OK
4、單片機上傳的時間保存在位元組緩沖區中,通過如下代碼轉換成DateTime型變數寫到資料庫:
private DateTime BytesToDateTime(byte[] bytes)
{
if (bytes != null && bytes.Length >= 6)
{
int year = 2000 + (int)bytes[0];
int month = (int)bytes[1];
int day = (int)bytes[2];
int hour = (int)bytes[3];
int minute = (int)bytes[4];
int second = (int)bytes[5];
DateTime dt = new DateTime(year, month, day, hour, minute, second);
return dt;
}
else
{
return new DateTime();
}
}
請問:什么原因呢?難道是沒有考慮北京東8區嗎?
uj5u.com熱心網友回復:

uj5u.com熱心網友回復:
我只能說中國的時區在東八區你中間過了好幾道,所以我們無法回答,你到底哪里有問題
uj5u.com熱心網友回復:
bytes[2]得到就是錯的吧,多數是單片機傳值不對。uj5u.com熱心網友回復:
關鍵是其它時間段的時間是對的,只有凌晨 0:10---8:00之間的時間不對(注:我每隔10分鐘上傳一次時間)。凌晨 0:10---8:00之間的時間不對,只是【日期 day 】不對,年份、月份、小時、分鐘、秒都是對的。
例如:單片機上傳時間為 2020-09-21 00:10:00
應該記錄為 2020-09-21 00:10:00
實際記錄為 2020-09-20 00:10:00 --->只是【日期】卻記錄成昨天的日期,其它正確
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/97799.html
標籤:C#
