JS、JAVA、MYSQL時間日期

--
文章內(nèi)容總結(jié)了包括JS、JAVA、MYSQL從前端到數(shù)據(jù)庫的所有日期相關(guān)常用操作,包括日期格式化和日期計算以及比較的所有的使用案例,從多方面總結(jié)和概括了對Date類型數(shù)據(jù)的處理方式,已達到快速上手和使用的目的,下面內(nèi)容將分為部分進行:
--

JS時間日期操作

日期獲取

01-創(chuàng)建日期

var myDate = new Date();//獲取系統(tǒng)當前時間
var d2=new Date(1320336000000);//這個參數(shù)就是時間戳,被視為毫秒
var d3=new Date("2013-8-20 18:20:30");//字符串,并能夠使用Date.parse()轉(zhuǎn)換
var d4=new Date(2013,7,26);//參數(shù)含義參照d5參數(shù)描述
var d5=new Date(year, month, day, hours, minutes, seconds, microseconds)

02-獲取指定日期數(shù)據(jù)

var myDate = new Date();
myDate.getYear(); //獲取當前年份(2位)
myDate.getFullYear(); //獲取完整的年份(4位,1970-????)
myDate.getMonth(); //獲取當前月份(0-11,0代表1月)
myDate.getDate(); //獲取當前日(1-31)
myDate.getDay(); //獲取當前星期X(0-6,0代表星期天)
myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數(shù))
myDate.getHours(); //獲取當前小時數(shù)(0-23)
myDate.getMinutes(); //獲取當前分鐘數(shù)(0-59)
myDate.getSeconds(); //獲取當前秒數(shù)(0-59)
myDate.getMilliseconds(); //獲取當前毫秒數(shù)(0-999)
myDate.toLocaleDateString(); //獲取當前日期
var mytime=myDate.toLocaleTimeString(); //獲取當前時間
myDate.toLocaleString( ); //獲取日期與時間

03-獲取時間戳

var myDate = new Date("2013-8-20 18:20:30").getTime();//獲取系統(tǒng)當前時間
var myDate = new Date().getTime();//獲取系統(tǒng)當前時間
var myDate = new Date("2013/5/12 20:10:20").getTime();//獲取系統(tǒng)當前時間
--“/”和“-”的區(qū)別在于時區(qū)的問題,使用“/”所獲取的時間戳更為準確
Date.parse("2013/5/12 20:10:20");//用于分析一個包含日期的字符串,返回一個時間戳

日期轉(zhuǎn)字符串

var testDate = new Date();
var dateobj_toString = testDate.toString();//toString() 把Date對象轉(zhuǎn)換為字符串。
var dataobj_toTimeString = testDate.toTimeString();//toTimeString()把Date對象的時間部分轉(zhuǎn)換為字符串。
var dateobj_toDateString = testDate.toDateString();//toDateString()把Date對象的日期部分轉(zhuǎn)換為字符串。
var dateobj_toUTCString = testDate.toUTCString();//toUTCString()根據(jù)世界時,Date對象轉(zhuǎn)換為字符串。
var dateobj_toLocalString = testDate.toLocaleString();//toLocaleString()根據(jù)本地時間格式,把Date對象轉(zhuǎn)換為字符串。
var dateobj_toLocalTimeString = testDate.toLocaleTimeString(); // toLocaleTimeString()根據(jù)本地時間格式,把Date對象的時間部分轉(zhuǎn)換為字符串。
var dateobj_toLocaleDateString = testDate.toLocaleDateString();//toLocaleDateString()根據(jù)本地時間格式,把Date對象的日期部分轉(zhuǎn)換為字符串。

dateobj_toString====Wed Apr 05 2017 12:27:24 GMT+0800(中國標準時間)
dateobj_toTimeString====12:27:24 GMT+0800(中國標準時間)
dateobj_toDateString====Wed Apr 05 2017
dateobj_toUTCString====Wed,05 Apr 2017 04:27:24 GMT
dateobj_toLocalString====2017/4/5 下午12:27:24
dateobj_toLocalTimeString====下午12:27:24
dateobj_toLocalDateString====2017/4/5

日期格式化

// 對Date的擴展,將 Date 轉(zhuǎn)化為指定格式的String
    // 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個占位符, 
    // 年(y)可以用 1-4 個占位符,毫秒(S)只能用 1 個占位符(是 1-3 位的數(shù)字) 
    Date.prototype.Format = function (fmt) { //author: meizz 
        var o = {
            "M+": this.getMonth() + 1, //月份 
            "d+": this.getDate(), //日 
            "h+": this.getHours(), //小時 
            "m+": this.getMinutes(), //分 
            "s+": this.getSeconds(), //秒 
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
            "S": this.getMilliseconds() //毫秒 
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
            if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }

使用案例:

(new Date()).Format("yyyy-MM-dd hh:mm:ss") //輸出結(jié)果: 2017-01-23 09:36:10
(new Date()).Format("yyyy-MM-dd") //輸出結(jié)果: 2017-01-23

JAVA時間日期操作

日期獲取

01-獲取時間
Date myDate = new Date();//獲取系統(tǒng)當前時間
Date myDate = new Date(long Date)://根據(jù)給定的毫秒值創(chuàng)建日期對象
Date myDate = new Date(int year,int month,int date,int hour,int min,int sec) //默認當前日期時間
Calendar now = Calendar.getInstance();//默認當前日歷時間
now.set(date);//修改日歷時間,傳入一個date類型即可
02-獲取時間戳
long timestap=new Date().getTime();//日期類型獲取時間戳
long timestap=Calendar.getInstance().getTime().getTime();//日期類型獲取時間戳
03-Calendar之now.get(參數(shù)):獲取年月日參數(shù)
Calendar now = Calendar.getInstance();
now.set(參數(shù))//參數(shù)為指定日期或者年月日時分秒;
Calendar.DAY_OF_MONTH:日期,和 Calendar.DATE 相同
Calendar.HOUR:12 小時制的小時數(shù)
Calendar.HOUR_OF_DAY:24小時制的小時數(shù)
Calendar.MINUTE:分鐘
Calendar.SECOND:秒
Calendar.DAY_OF_WEEK:周幾

******獲取指定時間(calender時間)數(shù)據(jù):******
int year = now.get(Calendar.YEAR); //2018,當前年份
int month = now.get(Calendar.MONTH) + 1; //12,當前月,注意加 1
int day = now.get(Calendar.DATE); //23,當前日

******設(shè)定指定日期時間(calender時間)數(shù)據(jù)案例:******
now.set(Calendar.YEAR, 2016); //設(shè)置單個字段
now.set(2016, 1, 1[, 11, 1, 1]);//設(shè)定年月日或者年月日時分或年月日時分秒
now.set(int year, int month, int date[, int hourOfDay, int minute, int second])
now.set(date); //直接傳入一個 Date 類型的日期

日期格式化

try {
            /** 日期轉(zhuǎn)字符串 */
            SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = Calendar.getInstance();
            Date date = calendar.getTime();
            String dateStringParse = sfd.format(date);
            /** 字符串轉(zhuǎn)日期 */
            String dateString = "2016-01-01 11:11:11";
            Date dateparse = sfd.parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }

日期比較

01-日期加減
Calendar now = Calendar.getInstance();//獲取當前時間
now.add(Calendar.YEAR, 1); //現(xiàn)在時間的1年后
now.add(Calendar.YEAR, -1); //現(xiàn)在時間的1年前
02-日期比較大小
Date date1 = new Date();//獲取時間date1
Date date2 = new Date();//獲取時間date2
date1.before(date2);//true,當date1小于date2時,為true,否則為false
date2.after(date1);//true,當 date_02 大于 date_01 時,為 true,否則為 false
03-date1.compareTo(date2);
(1) 當 date1 小于 date2 時,為 -1;
(2) 當 date2 大于 date1 時,為 1;
(3) 當兩個日期相等時,為 0;

MySQL時間日期操作

獲取日期和時間戳

now():獲取數(shù)據(jù)庫當前時間,例如2008-08-08 22:28:21;
current_timestamp():獲取當前時間戳,例如2008-08-09 23:22:24;
timestamp(date):日期轉(zhuǎn)時間戳,例如timestamp('2008-08-08')-- 2008-08-08 00:00:00;
timestamp(dt,time):timestamp('2008-08-08 08:00:00', '01:01:01') -- 2008-08-08 09:01:01;
makdedate(year,dayofyear):日期拼湊,makedate(2001,31); -- '2001-01-31';makedate(2001,32); -- '2001-02-01';
maketime(hour,minute,second):時間拼湊,maketime(12,15,30); -- '12:15:30'

日期格式化

date_format(date,format):date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s')--20080808222301
str_to_date(str, format):str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09
str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30
to_days(date):日期轉(zhuǎn)換為天,to_days('2008-08-08'); -- 733627
time_to_sec(time):時間轉(zhuǎn)換為秒,time_to_sec('01:00:05'); -- 3605
sec_to_time(seconds):秒轉(zhuǎn)換為時間,sec_to_time(3605); -- '01:00:05'

時間計算

set @dt = now();
select date_add(@dt, interval 1 day); -- add 1 day
select date_add(@dt, interval 1 hour); -- add 1 hour
select date_add(@dt, interval 1 minute); -- ...
select date_add(@dt, interval 1 second);
select date_add(@dt, interval 1 microsecond);
select date_add(@dt, interval 1 week);
select date_add(@dt, interval 1 month);
select date_add(@dt, interval 1 quarter);
select date_add(@dt, interval 1 year);

時間加減

datediff(date1,date2):兩個日期相減 date1 - date2,返回天數(shù)。datediff('2008-08-08', '2008-08-01'); -- 7
timediff(time1,time2):兩個日期相減 time1 - time2,返回 time 差值。timediff('2008-08-09 08:08:08', '2008-08-08 00:00:00'); --

比較時間大?。撼R?guī)的>、<、=、<>(不等于)、>=、<=等等!

例如:select * from tbl_xxx where '2018-01-01 01:01:01' <= '2018-02-02 02:02:02'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Js獲取當前日期時間及其它操作 var myDate = new Date(); myDate.getYear()...
    郝赫閱讀 1,195評論 0 3
  • 轉(zhuǎn)載自:計算兩個日期相差天數(shù):轉(zhuǎn)載自:http://www.jb51.net/article/44927.htmf...
    天字一等閱讀 2,693評論 0 0
  • 全系列文章索引: IOS開發(fā)問題索引(一) IOS開發(fā)問題索引(二) IOS開發(fā)問題索引(三) IOS開發(fā)問題索引...
    Kevin_Junbaozi閱讀 1,301評論 0 0
  • 一、JS前言 (1)認識JS 也許你已經(jīng)了解HTML標記(也稱為結(jié)構(gòu)),知道了CSS樣式(也稱為表示),會使用HT...
    凜0_0閱讀 2,915評論 0 8
  • [Js獲取當前日期時間及其它操作] 日期時間腳本庫方法列表 js代碼://--------------------...
    JS_swh閱讀 547評論 0 3

友情鏈接更多精彩內(nèi)容