1 mysql中时间格式的转换
1.1字符串格式转时间格式
mysql> SELECT DATE_FORMAT('20160910101010','%Y-%m-%d %h:%i:%s');
+---------------------------------------------------+
| DATE_FORMAT('20160910101010','%Y-%m-%d %h:%i:%s') |
+---------------------------------------------------+
| 2016-09-10 10:10:10 |
+---------------------------------------------------+
mysql> SELECT DATE_FORMAT('2016-09-10 10:10:10','%Y-%m-%d %h:%i:%s');
+--------------------------------------------------------+
| DATE_FORMAT('2016-09-10 10:10:10','%Y-%m-%d %h:%i:%s') |
+--------------------------------------------------------+
| 2016-09-10 10:10:10 |
+--------------------------------------------------------+
mysql> SELECT DATE_FORMAT('2016/09/10 10:10:10','%Y-%m-%d %h:%i:%s');
+--------------------------------------------------------+
| DATE_FORMAT('2016/09/10 10:10:10','%Y-%m-%d %h:%i:%s') |
+--------------------------------------------------------+
| 2016-09-10 10:10:10 |
+--------------------------------------------------------+
1.2 时间格式转化为字符串格式
mysql> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2016-10-26 09:46:24 |
+---------------------+
mysql> SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %h:%i:%s');
+----------------------------------------+
| DATE_FORMAT(NOW(),'%Y-%m-%d %h:%i:%s') |
+----------------------------------------+
| 2016-10-26 09:46:52 |
+----------------------------------------+
mysql> SELECT DATE_FORMAT(NOW(),'%Y%m%d%h%i%s');
+-----------------------------------+
| DATE_FORMAT(NOW(),'%Y%m%d%h%i%s') |
+-----------------------------------+
| 20161026094705 |
+-----------------------------------+
mysql> SELECT DATE_FORMAT(NOW(),'%W %Y%m%d%h%i%s');
+--------------------------------------+
| DATE_FORMAT(NOW(),'%W %Y%m%d%h%i%s') |
+--------------------------------------+
| Wednesday 20161026094811 |
+--------------------------------------+
1.3 时间戳转化为时间格式
mysql> SELECT FROM_UNIXTIME(123456789,'%Y-%m-%d %h:%i:%s');
+----------------------------------------------+
| FROM_UNIXTIME(123456789,'%Y-%m-%d %h:%i:%s') |
+----------------------------------------------+
| 1973-11-30 05:33:09 |
+----------------------------------------------+
1.4 时间格式转化为时间戳格式
mysql> SELECT UNIX_TIMESTAMP(NOW());
+-----------------------+
| UNIX_TIMESTAMP(NOW()) |
+-----------------------+
| 1477447745 |
+-----------------------+
mysql> SELECT UNIX_TIMESTAMP("20161025");
+----------------------------+
| UNIX_TIMESTAMP("20161025") |
+----------------------------+
| 1477324800 |
+----------------------------+
注
a.mysql里字符串格式很多时候可以直接看做时间格式不需要转换
b.以为为各个格式的含义
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59)
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天
%u 星期(0……52), 这里星期一是星期的第一天
%% 一个文字“%”。
2 javascript中时间格式的转换
2.1 字符串转化为时间
new Date("2016/10/24")
Mon Oct 24 2016 00:00:00 GMT+0800 (中国标准时间)
new Date("2016-10-24 20:20:20")
Mon Oct 24 2016 20:20:20 GMT+0800 (中国标准时间)
2.2 时间转化为字符串
function dateFormat(date){
return date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate()+''+date.getHours()+':'+date.getMinutes()+':'+date.getSeconds()
}
dateFormat(new Date())
"2016-10-26 10:31:2"
2.3 时间戳转化为时间
new Date(1234567890)
Thu Jan 15 1970 14:56:07 GMT+0800 (中国标准时间)
2.4 时间转化为时间戳
new Date().getTime()
1477449262187
3 java中时间格式的转换
/**
* 时间格式化为字符串
*/
public static void changeDateToString() {
Date currentTime = new Date();
//转化为大年24小时制
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
System.out.println(dateString);
//转化为小年24小时制
SimpleDateFormat formatter1 = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); //16-10-24 14:02:58
String dateString1 = formatter1.format(currentTime);
System.out.println(dateString1);
//转为为大年12小时制
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyyMMddhhmmss");
String dateString2 = formatter2.format(currentTime);
System.out.println(dateString2);
}
/**
* 字符串格式转化为日期格式
*/
public static void changeStringToDate() {
String str1="20150910031111";
ParsePosition pos1 = new ParsePosition(0);
//大年24小时制
SimpleDateFormat formatter11 = new SimpleDateFormat("yyyyMMddHHmmss");
Date d11 = formatter11.parse(str1,pos1);
System.out.println(d11);
//大年12小时制,不能用
//SimpleDateFormat formatter12 = new SimpleDateFormat("yyyyMMddhhmmss");//
//Date d12 = formatter12.parse(str1,pos1);
//System.out.println(d12);
String str2="150912031111";
ParsePosition pos2 = new ParsePosition(0);
//小年24小时
SimpleDateFormat formatter2 = new SimpleDateFormat("yyMMddHHmmss");
Date d2 = formatter2.parse(str2,pos2);
System.out.println(d2);
String str3 = "22222015-02-10 11:11:11";
ParsePosition pos3 = new ParsePosition(4);
SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d3 = formatter3.parse(str3,pos3);
System.out.println(d3);
}
/**
* 日期格式转化为数字格式
*/
public static void changeDateToLong() {
Date date =new Date();
long d = date.getTime();
System.out.print(d);
}
/**
* 数字格式转化为日期格式
*/
public static void changeLongToDate(){
long d = System.currentTimeMillis();
Date date = new Date(d);
System.out.print(date);
}