當前位置:首頁 » 存儲配置 » 日期存儲

日期存儲

發布時間: 2022-02-04 20:17:08

『壹』 日期時間壓縮存儲格式

日期轉換成2進制都是一樣長的吧。

import java.util.Date;

public class D {
public static void main(String[] args) {
// 取到系統日期(精確到milliseconds)
long time = System.currentTimeMillis();
// long型轉2進制
String binaryString = Long.toBinaryString(time);
System.out.println(binaryString);

// 以下是驗證代碼
// 轉換回去
long time2 = Long.parseLong(binaryString, 2);
if (time == time2) {
System.out.println("轉換成功");
} else {
System.out.println("轉換失敗");
}
Date d = new Date(time2);
System.out.println(d);
}
}

『貳』 excel 以文本格式存儲的日期如何轉化為以日期格式存儲的日期

Excel 以文本格式存儲的日期如何轉化為以日期格式方法如下:

以Excel2007為例:

  1. 打開Excel,並輸入文本格式的日期如下圖:

『叄』 關於資料庫中日期的存儲

Unix時間戳(Unix timestamp)
定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數
應該是這個……

『肆』 像Excel那種,日期存儲方式,有什麼好處

日期的數值,是從1900年1月1號開始排起的,1900年1月1號是1,往後每增加一天就加1,比如1900年1月2號是2,1900年1月3號是3......直到今天(2018年8月17號)已經排到了43329了。

至於好處嘛,我覺得就是便於日期的各種運算,打個比方說,2018年8月17號過273天有個重要事要做,想知道是具體是哪一天,那就直接="2018/8/17"+273就得出來了,單元格設置為日期格式就可以了。

附加說明:

日期是每天為1累計往上加的,而時間是把1分成若乾等份來算的,比如每小時就是把1分成24份,每分鍾就是把1分成24份再分成60份,即1/24/60

『伍』 日期存儲到資料庫中的壓縮演算法

不知道你是用什麼語言寫:
下面是c#的代碼:DateTime.Now.ToShortDateString()
如果是別的日期形式你用:DateTime.Parse(DateTimestring).ToShortDateString()轉換成日期形式再存。
附上所有日期形式:
DateTime dt = DateTime.Now;
// Label1.Text = dt.ToString();//2005-11-5 13:21:25
// Label2.Text = dt.ToFileTime().ToString();//127756416859912816
// Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816
// Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25
// Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日
// Label6.Text = dt.ToLongTimeString().ToString();//13:21:25
// Label7.Text = dt.ToOADate().ToString();//38661.5565508218
// Label8.Text = dt.ToShortDateString().ToString();//2005-11-5
// Label9.Text = dt.ToShortTimeString().ToString();//13:21
// Label10.Text = dt.ToUniversalTime().ToString();//2005-11-5 5:21:25
// 2005-11-5 13:30:28.4412864
// Label1.Text = dt.Year.ToString();//2005
// Label2.Text = dt.Date.ToString();//2005-11-5 0:00:00
// Label3.Text = dt.DayOfWeek.ToString();//Saturday
// Label4.Text = dt.DayOfYear.ToString();//309
// Label5.Text = dt.Hour.ToString();//13
// Label6.Text = dt.Millisecond.ToString();//441
// Label7.Text = dt.Minute.ToString();//30
// Label8.Text = dt.Month.ToString();//11
// Label9.Text = dt.Second.ToString();//28
// Label10.Text = dt.Ticks.ToString();//632667942284412864
// Label11.Text = dt.TimeOfDay.ToString();//13:30:28.4412864
// Label1.Text = dt.ToString();//2005-11-5 13:47:04
// Label2.Text = dt.AddYears(1).ToString();//2006-11-5 13:47:04
// Label3.Text = dt.AddDays(1.1).ToString();//2005-11-6 16:11:04
// Label4.Text = dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
// Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
// Label6.Text = dt.AddMonths(1).ToString();//2005-12-5 13:47:04
// Label7.Text = dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
// Label8.Text = dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
// Label9.Text = dt.AddTicks(1000).ToString();//2005-11-5 13:47:04
// Label10.Text = dt.CompareTo(dt).ToString();//0
//// Label11.Text = dt.Add(?).ToString();//問號為一個時間段
// Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString();//False
// Label2.Text = dt.Equals(dt).ToString();//True
// Label3.Text = dt.GetHashCode().ToString();//1474088234
// Label4.Text = dt.GetType().ToString();//System.DateTime
// Label5.Text = dt.GetTypeCode().ToString();//DateTime

// Label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25
// Label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//14:06
// Label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//2005年11月
// Label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日
// Label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05
// Label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05
// Label7.Text = dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日
// Label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月5日
// Label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06
// Label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06
// Label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT

Label1.Text = string.Format("{0:d}",dt);//2005-11-5
Label2.Text = string.Format("{0:D}",dt);//2005年11月5日
Label3.Text = string.Format("{0:f}",dt);//2005年11月5日 14:23
Label4.Text = string.Format("{0:F}",dt);//2005年11月5日 14:23:23
Label5.Text = string.Format("{0:g}",dt);//2005-11-5 14:23
Label6.Text = string.Format("{0:G}",dt);//2005-11-5 14:23:23
Label7.Text = string.Format("{0:M}",dt);//11月5日
Label8.Text = string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
Label9.Text = string.Format("{0:s}",dt);//2005-11-05T14:23:23
Label10.Text = string.Format("{0:t}",dt);//14:23
Label11.Text = string.Format("{0:T}",dt);//14:23:23
Label12.Text = string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
Label13.Text = string.Format("{0:U}",dt);//2005年11月5日 6:23:23
Label14.Text = string.Format("{0:Y}",dt);//2005年11月
Label15.Text = string.Format("{0}",dt);//2005-11-5 14:23:23
Label16.Text = string.Format("{0:yyyyMMddHHmmssffff}",dt);

『陸』 日期的二進制存儲問題

這個東西是16進製得存儲,翻譯過來是176854127198721
是從格林威治時間1970年1月1日0點,到某個時間段得毫秒數,
有了這個數字,後面的問題任何編程語言都可以解決

『柒』 描述ExCeL中日期如何存儲的

Excel中日期本質上是一個數字,
數字1轉換格式為日期就變成1900/1/1
2就是1900/1/2
以此類推
今天2019/3/9就是43533

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

方法沒有最好,只有適不適合。

選擇合適的變數來存儲日期和時間是根據應用場景而定的。

C語言標准庫中提供了以下有關時間的函數:

  1. time()函數可以得到一個從1900年1月1日0點0分0秒到目前的秒數

  2. localtime()函數,將該整數轉換為一個時間結構體struct tm中。

  3. ctime()和asctime()函數,將時間機器數據轉換成相應格式的字元串形式。

一般,日期和時間都是用於展示,這樣,用字元串變數存儲是最合適的方法:

chardatetime[32];
time_tt;
structtm*p;
t=time(NULL);
p=localtime(&t);
strcpy(datetime,asctime(p));

當需要計算兩個時間點之間的時間差時,用整型變數存儲時間更為方便:

time_tt1,t2;
t1=time(NULL);
...//dosomework
t2=time(NULL);
printf("difftimet1andt2=%dseconds ",t2-t1);

存儲在struct tm中的時間,更方便編程者按具體的要求格式去處理日期數據。

structtm{
inttm_sec;/*秒–取值區間為[0,59]*/
inttm_min;/*分-取值區間為[0,59]*/
inttm_hour;/*時-取值區間為[0,23]*/
inttm_mday;/*一個月中的日期-取值區間為[1,31]*/
inttm_mon;/*月份(從一月開始,0代表一月)-取值區間為[0,11]*/
inttm_year;/*年份,其值等於實際年份減去1900*/
inttm_wday;/*星期–取值區間為[0,6],其中0代表星期天,1代表星期一,以此類推*/
inttm_yday;/*從每年的1月1日開始的天數–取值區間為[0,365],其中0代表1月1日,1代表1月2日,以此類推*/
inttm_isdst;/*夏令時標識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進候,tm_isdst為0;不了解情況時,tm_isdst()為負。*/
};

『玖』 保存一個「日期/時間」型需要()個位元組的存儲空間 A.4 B.8 C.64 D.256

你應該規定所選語言實現,否則ABCD都是正確的。

熱點內容
華為honor6a如何重置密碼 發布:2025-01-21 05:37:30 瀏覽:987
黑客編程意思 發布:2025-01-21 05:34:34 瀏覽:18
資料庫伺服器遠程 發布:2025-01-21 05:34:34 瀏覽:700
ftp斷點續傳工具 發布:2025-01-21 05:13:42 瀏覽:990
哈弗h9買哪個配置劃算 發布:2025-01-21 05:01:19 瀏覽:641
微信視頻如何重新緩存 發布:2025-01-21 04:44:41 瀏覽:880
pdf壓縮文件大小 發布:2025-01-21 04:40:24 瀏覽:799
linux解壓文件到指定 發布:2025-01-21 04:38:36 瀏覽:875
自己做的安卓app怎麼下載 發布:2025-01-21 04:35:07 瀏覽:164
機頂盒加密頻道 發布:2025-01-21 04:26:48 瀏覽:318