一直被各种时间格式困扰,所以这次来总结一下常用的时间格式到底有哪些,它们之间如何互相转换。
ISO Date "2015-03-25" 国际标准
Short Date"03/25/2015"
Long Date "Mar 25 2015" 或者 "25 Mar 2015"
Full Date "Wednesday March 25 2015"
new Date()方法可以将前四种时间格式当做参数,输出 UTC 格式的时间
UTC "2015-03-25T12:00:00" 看到日期和时间中间有一个字母 T 表示为 UTC 时间 是 现在使用的标准时间
UTC 是时间标准;ISO-8601 是表示时间的一种标准格式
ISO-8601 的具体日期的时间表示法,在 UTC 时间后加 Z,如 "2015-03-25T12:00:00Z",Z 表示是通用标准,其它的时区的时间和 UTC 不同,所以用实际时间加时差表示。
GMT Greenwich Mean Time "Mon Feb 13 08:00:00 GMT+08:00 2012" 中间有 GMT+ 字样
UTC(Universal Time Coordinated 原子钟提供)和 GMT (Greenwich Mean Time 格林尼治时间)一样
EDT (US)Eastern Daylight Time 东部夏令时
CDT (US) Central Daylight Time 中部夏令时
MDT (US)Mountain Daylight Time 山地夏令时
PDT (US) Pacific Daylight Time 太平洋夏令时
EST (US) Eastern Standard Time 东部标准时间
CST"Web Mar 25 2015 08:00:00 GMT+0800" 中部标准时间
MST (US) Mountain Standard Time 山地标准时间
PST (US) Pacific Standard Time 太平洋标准时间
设置时间时,没有指定 time zone,js 将会使用浏览器的 time zone
获取时间时,没有指定 time zone,结果将会转换成浏览器的 time zone
总之,如果时间是用 GMT 时间创建,如果浏览器 from central US 时间将会被转换成 CDT。
涉及到格式类型:UTC,GMT,unix timestamp
如何在js中将时间戳转换为时间格式将时间戳转换成日期格式:
简单的一句程式码
var date = new Date(时间戳)获取一个时间物件 注意:如果是uinx时间戳记得乘于1000。比如php函式time()获得的时间戳就要乘于1000
/*----------下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了----------*/
date.getFullYear()获取完整的年份(4位,1970)
date.getMonth()获取月份(0-11,0代表1月,用的时候记得加上1)
date.getDate()获取日(1-31)
date.getTime()获取时间(从1970.1.1开始的毫秒数)
date.getHours()获取小时数(0-23)
date.getMinutes()获取分钟数(0-59)
date.getSeconds()获取秒数(0-59)
例子,比如需要这样的格式:yyyy-MM-dd hh:mm:ss
var date = new Date(1398250549490)
Y = date.getFullYear() + '-'
M = (date.getMonth()+1 <10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'
D = date.getDate() + ' '
h = date.getHours() + ':'
m = date.getMinutes() + ':'
s = date.getSeconds()
console.log(Y+M+D+h+m+s)呀麻碟
输出结果:2014-04-23 18:55:49
将日期格式转换成时间戳:
也很简单
date = new Date('2014-04-23 18:55:49:123')传入一个时间格式,如果不传入就是获取现在的时间了,就这么简单。
有三种方式获取
time1 = date.getTime()
time2 = date.valueOf()
time3 = Date.parse(date)
三种获取的区别
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒将用0来代替
比如上面程式码输出的结果(一眼就能看出区别):
1398250549123
1398250549123
1398250549000
注意:获取到的时间戳除于1000就可以获得unix的时间戳了,在传值给PHP时用得到。
如何用date将时间戳转换为时间格式时间戳就是如1377216000000 这种格式我们在mysql资料库中会经常用到把时间转换成时间戳或把时间戳转换成日期格式了,下面我来介绍安卓中时间戳操作转换方法。
一、原理
时间戳的原理是把时间格式转为十进位制格式,这样就方便时间的计算。好~ 直接进入主题。(下面封装了一个类,有需要的同学可以参考或是直接Copy 就可以用了。)
如: 2013年08月23日 转化后是 1377216000000
二、步骤
1、建立 DateUtilsl类。
程式码如下 复制程式码
importjava.text.ParseException
importjava.text.SimpleDateFormat
importjava.util.Date
/*
* @author Msquirrel
*/
public class DateUtils {
privateSimpleDateFormat sf = null
/*获取系统时间 格式为:"yyyy/MM/dd "*/
public static String getCurrentDate() {
Date d = newDate()
sf = newSimpleDateFormat("yyyy年MM月dd日")
returnsf.format(d)
}
/*时间戳转换成字元窜*/
public static String getDateToString(long time) {
Date d = newDate(time)
sf = newSimpleDateFormat("yyyy年MM月dd日")
returnsf.format(d)
}
/*将字串转为时间戳*/
public static long getStringToDate(String time) {
sdf = newSimpleDateFormat("yyyy年MM月dd日")
Date date = newDate()
try{
date = sdf.parse(time)
} catch(ParseException e) {
TODO Auto-generated catch block
e.printStackTrace()
}
returndate.getTime()
}
2、在对应使用的地方呼叫就可以了。
程式码如下 复制程式码
DateUtils.getCurrentDate()获取系统当前时间
DateUtils.getDateToString(时间戳)时间戳转为时间格式
DateUtils.getStringToDate("时间格式")时间格式转为时间戳
js 字串如何转换为时间格式?var str = "2010-08-01" 转换日期格式str = str.replace(/-/g, '/') "2010/08/01" 建立日期物件var date = new Date(str) 加一天date.setDate(date.getDate() + 1) 没有格式化的功能,只能一个一个取str = date.getFullYear() + '-' 因为js里month从0开始,所以要加1 + (parseInt(date.getMonth()) + 1) + '-' + date.getDate()
var str = "2010-08-01" 转换日期格式str = str.replace(/-/g, '/') "2010/08/01" 建立日期物件var date = new Date(str) 加一天date.setDate(date.getDate() + 1)
如何在EXCEL表格中将时间格式转换为数值格式?假定原资料在A列从A1开始,解决办法如下:
方法一:使用辅助列法。
1、在B1输入公式=MID(A1,MIN(FIND(ROW($1:$9),A1&1/17)),20)按组合键结束,下拉填充。
2、在C1输入公式=B1*24 下拉填充就是你所要的结果。
方法一:定义名称法。
1、将滑鼠点中B1单元格,按CTRL+F3调出定义名称功能,在“名称”处输入ZH,在“引用位置”处输入=MID(A1,MIN(FIND(ROW($1:$9),A1&1/17)),20),确定。
2、在B1单元格输入公式=ZH*24 ,下拉填充即是你所要的结果。
怎么把mysql里面的时间格式转换为时间戳UNIX_TIMESTAMP 从XXXX-XX-XX XX:XX:XX变成int
FROM_UNIXTIME 从int变成XXXX-XX-XX XX:XX:XX
excel里如何将数值转换为时间格式hour 函式只能是0到23的整数(一天24小时) 若把你的时间转换为小时,必须用函式。 假设时间在A1,则在B1输入公式: =DAY(A1)*24+HOUR(A1)+MINUTE(A1)/60+SECOND(A1)/3600
怎么在mysql中将时间戳转换成时间格式在实现类中查询资料库后,往物件中设定值的时候用getTimestamp()
如:物件名.setPubtime(rs.getTimestamp(1))
js 字串转换为时间格式new Date在不同浏览器中支援的写法都不同,最相容的写法是yyyy/MM/dd
其他写法在部分浏览器中无法解析
如,IE7不支援(yyyy-MM-dd,只支援/分割)
chrome支援的种类很多
Firefox支援yyyy/M/d但不支援yyyy-M-d等
如何将字串转换为时间格式java中将字串转换成日期型别,可以使用SimpleDateFormat日期转换类,有一个前提是字串必须满足日期的格式,如果不是会有异常
如何将数值型变数转换为时间格式开启Excel文件;
选择要转换的表格区域,右键-设定单元格格式
选择:数字-日期或者时间-型别(可根据自己的需要选择型别,跟多的可以在自定义里
自定义日期格式化函数
格式化函数
// 对Date的扩展,将 Date 转化为指定格式的String// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
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
}
使用示例:
var time1 = new Date().format("yyyy-MM-dd HH:mm:ss")var time2 = new Date().format("yyyy-MM-dd")