java,php,mysql各个格式时间对比总结

java中时间戳和时间字符串之间的转换

 

 

获取当前的unix时间戳
new Date().getTime()/1000
System.currentTimeMillis()/1000
返回的是毫秒数,要/1000;

 

获取当前年月日以及时分秒

Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR))  c.get(Calendar.YEAR))  c.get(Calendar.DATE)

 

将UNIX时间戳转换成时间字符串
new SimpleDateFormat("yyyy/MM/dd").format(new Date(timestamp*1000));

将时间字符串转换成UNIX时间戳
new java.text.SimpleDateFormat (”dd/MM/yyyy HH:mm:ss”).parse(”09/22/2008 16:33:00″).getTime()/1000

 

把当前时间加2周

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

long ldepDate = new Date().getTime() / 1000 + 3600 * 24 * 14; // 除1000
String depDate = sdf.format(new Date(ldepDate * 1000)); // 乘1000


在java中字符串和unix时间戳之间有一个中专类型是Date,但是注意有个1000
Date.getTime()  由Date到unixtime

new Date(unixtime)  由unixtime到Date

时区问题

String timezone_info = System.getProperty(”user.timezone”);
System.out.println(”当前的时区:”+timezone_info);
System.out.println(”时区信息:”+TimeZone.getDefault());
输出:
当前的时区:Asia/Shanghai
时区信息:sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]

处理不同的时区的方法:
SimpleDateFormat sd = new SimpleDateFormat(”yyyy-MM-dd HH:mm:ss”);
sd.setTimeZone(TimeZone.getTimeZone(”GMT+8″));
String strDate = sd.format(new Date(1215782027390L));
System.out.println(”正八区当前时间:”+strDate);
输出:
正八区当前时间:2008-07-11 21:13:47




php中时间戳和时间字符串之间的转换

 

获取当前的unix时间戳

 time()

 

获取当前年月日以及时分秒

date('Y')-date('m')-date('d')

 

将UNIX时间戳转换成时间字符串

date("Y-m-d H:i:s", unixtime)

 

将时间字符串转换成UNIX时间戳

mktime($H, $i, $s, $Y, $m, $d);

strtotime ( string time [, int now])
echo strtotime ( "now" ), "/n" ;
echo
strtotime ( "10 September 2000" ), "/n"
;
echo
strtotime ( "+1 day" ), "/n"
;
echo
strtotime ( "+1 week" ), "/n"
;
echo
strtotime ( "+1 week 2 days 4 hours 2 seconds" ), "/n"
;
echo
strtotime ( "next Thursday" ), "/n"
;
echo
strtotime ( "last Monday" ), "/n"
;

 

时区问题

 

date_default_timezone_set('Etc/GMT-8');
echo date('Y-m-d h:m:s',time());

设置默认时区。

 

format 字符说明返回值例子
a 小写的上午和下午值ampm
A 大写的上午和下午值AMPM
B Swatch Internet 标准时000999
d 月份中的第几天,有前导零的 2 位数字0131
D 星期中的第几天,文本表示,3 个字母MonSun
F 月份,完整的文本格式,例如 January 或者 MarchJanuaryDecember
g 小时,12 小时格式,没有前导零112
G 小时,24 小时格式,没有前导零023
h 小时,12 小时格式,有前导零0112
H 小时,24 小时格式,有前导零0023
i 有前导零的分钟数0059 >
I 是否为夏令时如果是夏令时为 1 ,否则为 0
j 月份中的第几天,没有前导零131
l (“L”的小写字母)星期几,完整的文本格式SundaySaturday
L 是否为闰年如果是闰年为 1 ,否则为 0
m 数字表示的月份,有前导零0112
M 三个字母缩写表示的月份JanDec
n 数字表示的月份,没有前导零112
O 与格林威治时间相差的小时数例如:+0200
r RFC 822 格式的日期例如:Thu, 21 Dec 2000 16:01:07 +0200
s 秒数,有前导零0059 >
S 每月天数后面的英文后缀,2 个字符stndrd 或者 th 。可以和 j 一起用。
t 给定月份所应有的天数2831
T 本机所在的时区例如:ESTMDT (【译者注】在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。
U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数参见 time()
w 星期中的第几天,数字表示0 (表示星期天)到 6 (表示星期六)
W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)例如:42 (当年的第 42 周)
Y 4 位数字完整表示的年份例如:19992003
y 2 位数字表示的年份例如:9903
z 年份中的第几天0366
Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。-4320043200

 

mysql中时间戳和时间字符串之间的转换


获取当前的unix时间戳

now()

 

将时间字符串转换成UNIX时间戳

UNIX_TIMESTAMP(date)

 

将UNIX时间戳转换成时间字符串

DATE_FORMAT(date, format)

 

如何从数据库读取三天内的所有记录
首先表格里要有一个DATETIME字段记录时间,
格式为'2003-7-15 16:50:00'
SELECT * FROM `xx` WHERE TO_DAYS(NOW()) - TO_DAYS(`date`) <= 3;

 

根据format字符串格式化date值

%M 月名字(January……December)
%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), 这里星期一是星期的第一天
%% 一个文字“%”。

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值