首先要使用php的2個函數(shù) strtotime 和date()先使用strtotime把現(xiàn)有的時間格式字符串轉(zhuǎn)化為unix時間戳.再使用date函數(shù)吧得到的unix時間戳轉(zhuǎn)化為Ymd格式的時間字符串具體如下:
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站制作服務(wù),網(wǎng)站設(shè)計,網(wǎng)站改版維護等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)公司。
pre t="code" l="php"$time_str = '2015-9-28';
$time = strtotime($time_str);//轉(zhuǎn)化為unix時間戳
$date = date('Ymd',$time);//把時間戳轉(zhuǎn)化為自己想要的格式.這里格式可以按照規(guī)范隨意自定義.
$date即是輸出的想要格式:
如果你想輸出的時間是YYYY-MM-DD的話
要在使用json數(shù)據(jù)化之前自己處理時間
type Article struct { Id int Title string CreateTimeStr string}
然后要將之前的時間轉(zhuǎn)過來
Article.CreateTimeStr = Createdatetime.Format("2006-01-02")
最后序列化JSON就是YYYY-MM-DD
這是最簡單的方法
各種語言版本的時間戳
1.Swift NSDate().timeIntervalSince1970
2.Go int32(time.Now().Unix())
3.Java (int) (System.currentTimeMillis() / 1000)
4.JavaScript Math.round(new Date() / 1000)
5.Objective-C [[NSDate date] timeIntervalSince1970]
6.MySQL SELECT unix_timestamp(now())
7.SQLite SELECT strftime('%s', 'now')
8.Erlang calendar:datetime_to_gregorian_seconds(calendar:universal_time())-719528*24*3600.
9.PHP time()
10.Python time.time()
11.Ruby Time.now.to_i
12.Shell date +%s
時間戳是自 1970 年 1 月 1 日(00:00:00 GMT)以來的秒數(shù)。它也被稱為 Unix 時間戳(Unix Timestamp)。
Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現(xiàn)在的總秒數(shù)。
Unix時間戳不僅被使用在Unix系統(tǒng)、類Unix系統(tǒng)中,也在許多其他操作系統(tǒng)中被廣泛采用。
以前遇到過一個關(guān)于時間戳的問題,為了不被大家鄙視,先說一下概念。
具體時間戳怎么定義的我也不清楚,但百度百科中有這么一句:“時間戳是自 1970 年 1 月 1 日(00:00:00 GMT)至當(dāng)前時間的總秒數(shù)”。
按這個定義,編程語言中倒是有一種類似的函數(shù),getTime(),但這個函數(shù)返回的是自1970年1月1日到當(dāng)前時間的總 毫秒數(shù) ,而不是總 秒數(shù)。
在js中,將一個字符轉(zhuǎn)化成Date型也不是什么難事:
var str = '2013-08-30'; // 日期字符串
str = str.replace(/-/g,'/'); // 將-替換成/,因為下面這個構(gòu)造函數(shù)只支持/分隔的日期字符串
var date = new Date(str); // 構(gòu)造一個日期型數(shù)據(jù),值為傳入的字符串
在上面,new Date(str)構(gòu)造了一個日期,參數(shù)str至少要提供年月日三部分,也就是形如“2013/03/08”的字符串,不能是"2013/03",否則將得到一個NaN。此時構(gòu)造出來的時間是:2013/03/08 00:00:00。同時你還可以傳入小時、分鐘和秒數(shù),但不能只傳入小時,比如“2013/03/08 17”,這樣的參數(shù)同樣會得到一個NaN。參數(shù)可以是“2013/03/08 17:20”或者“2013/03/08 17:20:05”,這樣都可以得到正確的時間,其中如果秒數(shù)沒給出,則默認(rèn)為0。
此時得到的是日期型數(shù)據(jù),如果要得到上面所謂的時間戳,可以這樣:
var time = date.getTime();
這樣得到的是一個數(shù)值,表示的是從1970年1月1日0點0分0秒到date那一刻的毫秒數(shù),如果把這個數(shù)字除以1000,就得到了秒數(shù),同樣繼續(xù)除以60,得到分鐘,再除以60得到小時等等。
提示,通過這個getTime()函數(shù),你可以得到兩個日期的毫秒數(shù),繼而轉(zhuǎn)化成秒數(shù)、分鐘、小時甚至天數(shù),比較兩個日期的差值。
時間戳就是如1377216000000 這種格式我們在mysql數(shù)據(jù)庫中會經(jīng)常用到把時間轉(zhuǎn)換成時間戳或把時間戳轉(zhuǎn)換成日期格式了,下面我來介紹安卓中時間戳操作轉(zhuǎn)換方法。
一、原理
時間戳的原理是把時間格式轉(zhuǎn)為十進制格式,這樣就方便時間的計算。好~ 直接進入主題。(下面封裝了一個類,有需要的同學(xué)可以參考或是直接Copy 就可以用了。)
如: 2013年08月23日 轉(zhuǎn)化后是 1377216000000
二、步驟
1、創(chuàng)建 DateUtilsl類。
代碼如下 復(fù)制代碼
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
/*
* @author Msquirrel
*/
public class DateUtils {
privateSimpleDateFormat sf = null;
/*獲取系統(tǒng)時間 格式為:"yyyy/MM/dd "*/
public static String getCurrentDate() {
Date d = newDate();
sf = newSimpleDateFormat("yyyy年MM月dd日");
returnsf.format(d);
}
/*時間戳轉(zhuǎn)換成字符竄*/
public static String getDateToString(long time) {
Date d = newDate(time);
sf = newSimpleDateFormat("yyyy年MM月dd日");
returnsf.format(d);
}
/*將字符串轉(zhuǎn)為時間戳*/
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、在對應(yīng)使用的地方調(diào)用就可以了。
代碼如下 復(fù)制代碼
DateUtils.getCurrentDate(); //獲取系統(tǒng)當(dāng)前時間
DateUtils.getDateToString(時間戳); //時間戳轉(zhuǎn)為時間格式
DateUtils.getStringToDate("時間格式");//時間格式轉(zhuǎn)為時間戳