當前位置:首頁 » 服務存儲 » 日期字元存儲
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

日期字元存儲

發布時間: 2023-03-23 14:14:38

⑴ C語言中存儲日期和時間的最好方法是哪一種

方法沒有最好,只有適不適合。
選擇合適的變數來存儲日期和時間是根據應用場景而定的。
C語言標准庫中提供了以下有關時間的函數:
time()函數可以得到一個從1900年1月1日0點0分0秒到目前的秒數
localtime()函數,將該整數轉換為一個時間結構體struct
tm中。
ctime()和asctime()函數,將時間機器數據轉換成相應格式的字元串形式。
一般,日期和時間都是用於展示,這樣,用字元串變數存儲是最合適的方法:
char datetime[32];
time_t t;
struct tm *p;
t=time(NULL);
p=localtime(&t);
strcpy( datetime, asctime(p) );
當需要計算兩個時間點之間的時間差時,用整型變數存儲時間更為方便:
time_t t1, t2;
t1=time(NULL);
... //do some work
t2=time(NULL);
printf("diff time t1 and t2=%d seconds\n", t2-t1 );
存儲在struct
tm中的時間,更方便編程者按具體的要求格式去處理日期數據。
struct tm {
int tm_sec; /* 秒 – 取值區間為[0,59] */
int tm_min; /* 分 - 取值區間為[0,59] */
int tm_hour; /* 時 - 取值區間為[0,23] */
int tm_mday; /* 一個月中的日期 - 取值區間為[1,31] */
int tm_mon; /* 月份(從一月開始,0代表一月) - 取值區間為[0,11] */
int tm_year; /* 年份,其值等於實際年份減去1900 */
int tm_wday; /* 星期 – 取值區間為[0,6],其中0代表星期天,1代表星期一,以此類推 */
int tm_yday; /* 從每年的1月1日開始的天數 – 取值區間為[0,365],其中0代表1月1日,1代表1月2日,以此類推 */
int tm_isdst; /* 夏令時標識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進候,tm_isdst為0;不了解情況時,tm_isdst()為負。*/
};

⑵ 關於日期是存儲成日期類型,還是字元串類型的問題

1.關於日期轉換,java內置SimpleDateFormat類,
SimpleDateFormat temp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
temp.format(date); //將日期類型轉換成字元串
temp.parse(source);//將字元串轉換成日期類型
2.在我們實際開發中,通常操作資料庫日期時,會用到資料庫自帶的日期函數,比如oracle中會用到to_date()和to_char等。
如 select count(1) from al where to_date(hiredate,'yyyy-mm-dd hh24:mi:ss') = to_date(p_date,'yyyy-mm-dd hh24:mi:ss');
注意資料庫不區分大小寫,所以函數中的月份用mm,分鍾用mi....
祝你開心 0_o

再補充一下,如果前台傳來的是"2013/02/05"這種格式的話,那可以在後台替換一下啊。
String date="2013/02/05";
date=(date==""||date==null)? "2013-01-01":date.replace("/","-");
這樣的話就轉換成通用格式了。然後再用這個格式去操作就可以了.....

⑶ 資料庫中日期型數據的長度是幾個位元組

MYSQL,datetime類型長度填8位。

日期型(DATETIME)數據是表示日期數據,用字母D表示。日期的默認格式是{mm/dd/yyyy},其中mm表示月分,dd表示日期,yyyy表示年度,固定長度為8位。日期范圍為介於 100 到 9999 年的日期或時間數值。

(3)日期字元存儲擴展閱讀:

MySQL主要分為三種類型:字元串,日期和數字(每種類型實際上都有一個二進制類型,但並不常用)。

*字元串分為定長char和不定長度varchar,char以聲明的長度為准,而varchar的長度與值的長度和字元集有關。

*數字和日期均為固定長度的欄位。不同的類型具有不同的長度。例如,Datetime是5.6.4之後的5個位元組,之前的是8個位元組;timestamp是4個位元組,因為其存儲整數,小數部分的長度通常與位數有關。

⑷ 日期類型存儲的數據是什麼格式的字元串時間類型存儲的數據是什麼格式的字元串

日期類型存儲成字元串類型的格式最好是"Thu Sep 21 00:00:00 CST 2017"。
因為可陪察以直接使用new Date(str); 的方式進行轉換,而不需要格式化。
發現直接使用new Date()這個方法,會導致有些日期顯示的時候,增加一蘆宏茄天。這是由於new Date()這個方法本身的計算錯誤導致的,所以這里應該使用日絕咐期格式化來解決,而不是之前的那種方式。