如果mysql的数据类型是date的话 用date('Y-m-d')获取时间
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了大庆免费建站欢迎大家使用!
如果是datetime类型,用date('Y-m-d H:i:s')获取时间
个人建议,用int存储,这样占用的的资源小,查询的速度也会快,用time()方法获取时间戳,在调用的时候根据你想要的形式,将时间戳转换成你要的时间,如果只显示年月日的话,用date('Y-m-d',$date),如果需要显示精确时间,用date('Y-m-d H:i:s')就可以了
如果是JavaScript,先 var unixTimestamp = new Date(Unix timestamp * 1000) 然后 commonTime = unixTimestamp.toLocaleString()
如果是java,String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp * 1000))
不一样的语言有不同的转换方法,详情请参考码工具网的时间戳转换方法。
全球以英国伦敦格林威治作为零度经线的起点,每隔15经度为一个时区,15度经线为该时区的中央经线,共分为24个时区。由西向东每隔15经度增加一个时区,相反的,每向西15经度减少一个时区。中国所在时区为东8区。
当前时间 time.Now() 返回的是当地时区的时间:
CST可以代表如下四个不同的时区:
time.Now() 返回的 +0800 CST 表示的就是中国标准时间,与UTC时间有如下的转化:
Wall Clocks表示挂钟时间,存储的是自1970 年 1 月 1 日 0 时 0 分 0 秒以来的时间戳,当系统和授时服务器进行校准时间时间操作时,有可能造成这一秒是2018-1-1 00:00:00,而下一秒变成了2017-12-31 23:59:59的情况。
Monotonic Clocks,意思是单调时间的,所谓单调,就是只会不停的往前增长,不受校时操作的影响,这个时间是自进程启动以来的秒数。
time.Now() 返回的 m=+0.004002201 就是表示Monotonic Clocks
go语言中如果不设置指定的时区,通过 time.Now() 获取到的就是本地时区
设置时区有两种方式:
固定时区到东八区。但这种不是对程序的全局设置,每次获取时都需要固定时区
加载指定时区。但如果没有go环境使用这种方式就会加载失败,因为时区信息是放在go的安装包中的。
如果你用第二种方式加载时区,在打docker镜像时就需要进行时区相关的配置,配置文件如下:
参考文章:
先说下逻辑:
获得当前的时间戳,和目标时间戳
比对两者的差距
定义展示数据,比如:30分钟前展示“x分钟前“,半小时到1小时展示“半小时前”,1小时到一天展示“x小时前”,一天以后展示“x天前”
根据差距,比对符合的展示数据。
script type="text/javascript"
function formatStr( ){
var str = arguments[0];
var arr = [].splice.call(arguments,1,arguments.length -1);
return str.replace(/\{(\d+)\}/g,function(s,i){
if(arr[i]!='0'){
return arr[i] || '';
}else{
return arr[i];
}
});
}
function show( date ){
//date 是 js的日期对象
var now = +new Date();
var target = date.getTime();
var diff = now - target;//差距
var showArr = [
{
txt : '{0}分钟前',
times : 60 * 1000,
num : 30 * 60 * 1000
},
{
txt : '半小时前',
times : 60 * 1000,
num : 60 * 60 * 1000
},
{
txt : '{0}小时前',
times : 60 * 60 * 1000,
num : 24 * 60 * 60 * 1000
}
];
var txt = '{0}天前',num = 0,times = 24 * 60 * 60 * 1000;
for(var i=0;ishowArr.length;i++){
var item = showArr[i];
if( diff item.num){
txt = item.txt;
times = item.times;
break;
}
}
var show = Math.floor(diff / times);
txt = formatStr(txt,show);
return txt;
}
var targetDate = new Date('2018-03-10');
console.log(show(targetDate));
/script
public static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale)
获得日期/时间 formatter,该 formatter 具有给定语言环境的给定格式化风格。
参数:
dateStyle - 给定的日期格式化风格。
timeStyle - 给定的时间格式化风格。
aLocale - 给定的语言环境。
返回:日期/时间 formatter。
the_time, err := time.ParseInLocation("2006-01-02", "2017-01-10", time.Local)
if err == nil {
unix_time := the_time.Unix()
fmt.Println(unix_time)
}