DOS命令
dos下日期格式獲取,就是通過指針偏移量,逗號後的數字表示提取的字元長度。
例如:
echo %date:~0,10% //提取年月日信息
echo %date:~-3% //提取星期幾信息
echo %Date:~0,4%%Date:~5,2%%Date:~8,2% //yyyyMMdd
linux命令
名稱 : date
使用許可權 : 所有使用者
使用方式 :
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
說明 :
date 可以用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加號後接數個標記,其中可用的標記列表如下 :
時間方面 :
% : 印出 %
%n : 下一行
%t : 跳格
%H :小時(0..23)
%I : 小時(01..12)
%k : 小時(0..23)
%M : 分鐘(0..59)
%p : 顯示本地時段“上午”或 “下午”
%r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數
%S : 秒(00..61)
%T : 直接顯示時間 (24 小時制)
%X : 相當於 %H:%M:%S
%Z : 顯示時區
日期方面 :
%a : 星期幾 (Mon..Sun)
%A : 星期幾 (Monday..Sunday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接顯示日期與時間
%d : 日 (01..31)
%D : 直接顯示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第幾天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)
%w : 一周中的第幾天 (0..6)
%W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最後兩位數字 (00.99)
%Y : 完整年份 (0000..9999)
若是不以加號作為開頭,則表示要設定時間,而時間格式為 MMDDhhmm[[CC]YY][.ss],其中 MM 為月份,DD 為日,hh 為小時,mm 為分鐘,CC 為年份前兩位數字,YY 為年份後兩位數字,ss 為秒數
把計 :
-d datestr : 顯示 datestr 中所設定的時間 (非系統時間)
--help : 顯示輔助訊息
-s datestr : 將系統時間設為 datestr 中所設定的時間
-u : 顯示目前的格林威治時間
--version : 顯示版本編號
例子 :
顯示時間後跳行,再顯示目前日期 :
date +%T%n%D
顯示月份與日數 :
date +%B %d
顯示日期與設定時間(12:34:56) :
date --date 12:34:56
注意 :
當你不希望出現無意義的 0 時(比如說 1999/03/07),則可以在標記中插入 - 符號,比如說 date +%-H:%-M:%-S 會把時分秒中無意義的 0 給去掉,像是原本的 08:09:04 會變為 8:9:4。另外,只有取得許可權者(比如說 root)才能設定系統時間。
當你以 root 身份更改了系統時間之後,請記得以 clock -w 來將系統時間寫入 CMOS 中,這樣下次重新開機時系統時間才會持續抱持最新的正確值。
數據類型
日期型數據
日期範圍(公元100年1月1日 0:00:00 ~ 9999年12月31日 23:59:59)
用來表示日期信息,其格式為 mm/dd/yy 或mm-dd-yy
取值範圍 1/1/100~12/31/9999
linux下date
以當前的時間為例
[[email protected],c songmj]$ date; date +%s
Sat Apr 24 13:06:57 CST
下面使用date命令完成上述2行結果之交的互相轉換。
1,將秒轉換成時間:
[[email protected],c songmj]$ date -d "1970-01-01 UTC 1272085617 seconds"
Sat Apr 24 13:06:57 CST 2010
[[email protected],c songmj]$ date -d @1272085617
Sat Apr 24 13:06:57 CST 2010
2,將時間轉換為秒
[[email protected],c songmj]$ date +%s -d " Apr 24 13:06:57 CST 2010"
1272085617
PHP 中的 date 函式
定義和用法
date 函式格式化本地日期和時間,並返回格式化的日期字元串。
語法
date( format,timestamp);
參數 | 描述 |
format | 必需。規定輸出日期字元串的格式。 |
timestamp | 可選。規定一個整數的 Unix 時間戳。默認是當前的本地時間(time())。 |
技術細節
返回值: | 如果成功則返回格式化的日期字元串,如果失敗則報 E_WARNING 錯並返回 FALSE。 |
PHP 版本: | 4+ |
更新日誌: | PHP 5.1.0:新增 E_STRICT 和 E_NOTICE 時區錯誤。有效範圍的時間戳是從 1901 年 12 月 13 日 20:45:54 GMT 星期五 到 2038 年 1 月 19 日 03:14:07 GMT 星期二。5.1.0 之前的版本,在某些系統上(例如 Windows)時間戳被限制在從 01-01-1970 到 19-01-2038。 PHP 5.1.1:新增標準日期/時間格式常量,用於指定 format 參數。 |
java中的類
java.sql 類 Date
java.lang.Object
java.util.Date
java.sql.Date
所有已實現的接口:
Serializable,Cloneable,Comparable<Date>
--------------------------------------------------------------------------------
public class Dateextends Date
概述:一個包裝了毫秒值的瘦包裝器 (thin wrapper),它允許 JDBC 將毫秒值標識為 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以來經過的毫秒數。
為了與 SQL DATE 的定義一致,由 java.sql.Date 實例包裝的毫秒值必須通過將小時、分鐘、秒和毫秒設定為與該實例相關的特定時區中的零來“規範化”。
構造方法摘要
Date(int year,int month,int day) | 已過時。使用構造方法 Date(long date) 替代 |
Date(long date) | 使用給定毫秒時間值構造一個 Date 對象 |
方法摘要
int getHours() | 已過時。 |
int getMinutes() | 已過時。 |
int getSeconds() | 已過時。 |
void setHours(int i) | 已過時。 |
void setMinutes(int i) | 已過時。 |
void setSeconds(int i) | 已過時。 |
void setTime(long date) | 使用給定毫秒時間值設定現有 Date 對象。 |
String toString() | 格式化日期轉義形式 yyyy-mm-dd 的日期。 |
static Date valueOf(String s) | 將 JDBC 日期轉義形式的字元串轉換成 Date |
從類 java.util.Date 繼承的方法
after,before,clone,compareTo,equals,getDate,getDay,getMonth,getTime,getTimezoneOffset,getYear,hashCode,parse,setDate,setMonth,setYear,toGMTString,toLocaleString,UTC
從類 java.lang.Object 繼承的方法
finalize,getClass,notify,notifyAll,wait,wait,wait
構造方法詳細信息
Date public Date(int year,int month,int day) | 已過時。使用構造方法 Date(long date) 替代。構造一個使用給定 year、month 和 day 初始化的 Date 對象。如果給定參數超出範圍,則結果是不確定的。 | 參數:year - year 減去 1900,它必須是 0 到 8099 之間的數。(注意,8099 是由 9999 減去 1900 得到的。)month - 0 到 11 之間的數 day - 1 到 31 之間的數 |
Date public Date(long date) | 使用給定毫秒時間值構造一個 Date 對象。如果給定毫秒值包含時間信息,則驅動程式會將時間組件設定為對應於零 GMT 的默認時區(運行應用程式的 Java 虛擬機的時區)中的時間。 | 參數:date - 不超過 year 8099 的毫秒表示的自 1970 年 1 月 1 日 00:00:00 GMT 以來的毫秒數。負數指示在 1970 年 1 月 1 日 00:00:00 GMT 之前的毫秒數。 |
setTime public void setTime(long date) | 使用給定毫秒時間值設定現有 Date 對象。如果給定毫秒值包含時間信息,則驅動程式會將時間組件設定為對應於零 GMT 的默認時區(運行應用程式的 Java 虛擬機的時區)中的時間。 | 覆蓋:類 Date 中的 setTime 參數:date - 不超過 year 8099 的毫秒表示的自 1970 年 1 月 1 日 00:00:00 GMT 以來的毫秒數。負數指示在 1970 年 1 月 1 日 00:00:00 GMT 之前的毫秒數。 |
valueOf public static Date valueOf(String s) | 將 JDBC 日期轉義形式的字元串轉換成 Date 值。 | 參數:s - 表示 "yyyy-mm-dd" 形式的日期的 String 對象。 返回:表示給定日期的 java.sql.Date 對象 拋出:IllegalArgumentException - 如果給定日期不是 JDBC 日期轉義形式 (yyyy-mm-dd) |
toString public String toString() | 格式化日期轉義形式 yyyy-mm-dd 的日期。 | 覆蓋:類 Date 中的 toString 返回:一個 yyyy-mm-dd 形式的 String 另請參見:Date.toLocaleString(),Date.toGMTString() |
getHours public int getHours() | 已過時。 | 因為 SQL Date 值沒有時間組件,所以不建議並且不應使用此方法。 覆蓋:類 Date 中的 getHours 返回:此日期所表示的小時。 拋出:IllegalArgumentException - 如果調用此方法 另請參見:setHours(int) |
getMinutes public int getMinutes() | 已過時。 | 因為 SQL Date 值沒有時間組件,所以不建議並且不應使用此方法。 覆蓋:類 Date 中的 getMinutes 返回:此日期所表示的小時已經過去的分鐘數。 拋出:IllegalArgumentException - 如果調用此方法 另請參見:setMinutes(int) |
getSeconds public int getSeconds() | 已過時。 | 因為 SQL Date 值沒有時間組件,所以不建議並且不應使用此方法。 覆蓋:類 Date 中的 getSeconds 返回:此日期表示的分鐘已經過去的秒數。 拋出:IllegalArgumentException - 如果調用此方法 另請參見:setSeconds(int) |
setHours public void setHours(int i) | 已過時。 | 因為 SQL Date 值沒有時間組件,所以不建議並且不應使用此方法。 覆蓋:類 Date 中的 setHours 參數:i - 小時值。 拋出:IllegalArgumentException - 如果調用此方法 另請參見:getHours() |
setMinutes public void setMinutes(int i) | 已過時。 | 因為 SQL Date 值沒有時間組件,所以不建議並且不應使用此方法。 覆蓋:類 Date 中的 setMinutes 參數:i - 分鐘值。 拋出:IllegalArgumentException - 如果調用此方法 另請參見:getMinutes() |
setSeconds public void setSeconds(int i) | 已過時 | 因為 SQL Date 值沒有時間組件,所以不建議並且不應使用此方法。 覆蓋:類 Date 中的 setSeconds 參數:i - 秒數值。 拋出:IllegalArgumentException - 如果調用此方法 另請參見:getSeconds() |