代碼時間轉換
1. 時間區間轉換,代碼應該怎麼實現
表有襲日期欄位:如:2010-01-25,……2012-12-21,2012-12-21,2013-01-20……
需要區間劃分:如:2011-11-21至2011-12-20表示為201112,2012-12-21至2013-01-20日期間表達為201301,2013-01-21至2013-02-20日期間表達為201302,……,2013-11-21至2013-12-20日期間表達為201312,2013-12-21至2014-01-20日期間表達為201401,以此類推,如何使用函數或者查詢表示!
2. js 中日期 轉換成時間戳 例如2013-08-30 轉換為時間戳
js中傳入指定日期轉換為時間戳,可以使用原生javascript的Date對象進行格式化操作或第三方js庫如moment.js進行格式化輸出。以下是這2種方法的具體實現:
1、使用原生javascript的Date對象,進行格式化
(1)將日期字元串轉換為Date類型的對象。
let d = new Date('2018-01-01')
3. html時間轉換代碼
倒計時一般使用時間戳來做參數的。。
第一個好解決回
var timer = "364d23h59m59s";
timer = timer.replace(/(d)|答(h)|(m)|(s)/,function(s,a,b,c,d){
if (a) return"天";
if (b) return"時";
if (c) return"分";
if (d) return"秒";
})
alert(timer);
4. C語言顯示日期日歷轉換代碼!!急急!!!!!!!
基本上就是這個思想,不太對,你再調試一下吧
#include <stdio.h>
#define YEAR 1970
typedef struct
{
int year;
int month;
int day;
int hour;
int min;
int sec;
} date;
/*儲存12個月的天數*/
const int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
/*判斷是否為閏年*/
int isLeapYear(int year)
{
if(((year%4==0)&&(year%100!=0))
||(year%400==0))
{
return 1;
}
return 0;
}
/*日期轉成1970年1月1日起的天數*/
long date2sec(date d)
{
long sum=0;
int i;
//累計以往各年的天數
for(i=YEAR;i<d.year;i++)
{
sum+=365;
if(isLeapYear(i))
{//閏年多一天
sum+=1;
}
}
//累計當年以往各月的天數
for(i=0;i<d.month;i++)
{
sum+=days[i];
}
if(d.month>2)
{
if(isLeapYear(i))
{//閏年多一天
sum+=1;
}
}
//累計當年當月的天數
sum+=d.day-1;
//轉換成秒
sum=sum*24*60*60;
//加當天的小時,分鍾,秒
sum+=d.hour*60*60+d.min*60+d.sec;
//返回總秒數
return sum;
}
/*日期轉成1970年1月1日起的天數*/
date sec2date(long sec)
{
date d={YEAR,1,1,0,0,0};
int ds,sum;
ds=sec/(24*60*60);
sec-=ds*(24*60*60);
d.hour=sec/(60*60);
sec-=d.hour*(60*60);
d.min=sec/60;
sec-=d.min*60;
d.sec=sec;
//計算有多少年
while(1)
{
sum=365;
if(isLeapYear(d.year))
{//閏年多一天
sum+=1;
}
if(ds<sum)
{//不足一年了
break;
}
d.year++;
ds-=sum;
}
//計算有多少月
while(1)
{
sum=days[d.month-1];
if(d.month==2)
{
if(isLeapYear(d.year))
{//閏年多一天
sum+=1;
}
}
if(ds+1<sum)
{//不足一月了
d.day+=ds;
break;
}
d.month++;
ds-=sum;
}
return d;
}
main()
{
long sec;
date d;
puts("請輸入日期(格式為2008-08-08 08:08:08):");
scanf("%d-%d-%d %d:%d:%d",&d.year,&d.month,&d.day,&d.hour,&d.min,&d.sec);
sec=date2sec(d);
printf("到格林時間%d秒!\n",sec);
puts("請到格林時間的秒數:");
scanf("%d",&sec);
d=sec2date(sec);
printf("日期為:%d-%d-%d %d:%d:%d\n",d.year,d.month,d.day,d.hour,d.min,d.sec);
}
5. excel vba求代碼,把文本格式的日期時間數據轉換為日期時間格式
不需要代碼
把B列數據復制到記事本
再把B列格式設置成 YYYY/M/D HH:MM:SS格式
最後從記事本把數據考回來就可以了
如果在VBA中直接使用的話,加一個datevalue轉換下就好了
6. 時間計算的代碼。
很多語言有專門函數計算時間差,不過你想自己算也可以。
大致辦法是回:
1、你可以設定時答間差,轉換成秒,比如95分鍾就是95*60
2、當前時間的秒數,從凌晨0點算起,14:25就是14*60*60+25*60
3、相減得到的秒數(46200),大於3600算小時,整除得到小時(12),余數除以60,整除得分鍾(50),余數為秒數(0)。最後結果是12點50分0秒
注意事項:如果時間差太大,造成步驟3得到是負數,那麼這個負數+24*3600如果大於0就是昨天幾點幾點再算。當然加上這個24*3600還小於0,科學的辦法是,一旦發現步驟3相減得到的時間差是負數,先絕對值,然後整除24*3600.為0則是昨天的,1是前天,2是大前天,依次類推。。
7. 如何把Java代碼中的時間轉換成JSTL
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="now" class="java.util.Date" />
<fmt:formatDate value ="${now}" pattern="yyyy-MM-dd HH:mm:ss" />
8. 求一段 日期時間類(時間加減轉換) 代碼的設計思路,有源碼更好(源碼語言 類C語言為好).
typedefstruct{
inty;
intmon;
intd;
inth;
intm;
}Date;
#defineLEAP(y)(y%4==0&&(y%100!=0||%400==0))
intelapsed_m(inty,intm){
if(m>1){
m--;
intd=m*365/12+1-((m>1)?((m>6)?1:2):0);
if(LEAP(y)&&m>1){
d++;
}
returnd;
}
return0;
}
intelapsed_y(inty){
constintstart=(int)(365.25*299.0)-(int)(0.01*299.0)-2;
intofst=y-1601;
return(int)(365.25*ofst)-(int)(0.01*ofst)+(int)(0.0025*ofst)-start;
}
doubleget_day(Datedate){
doubleres=0;
intday=0;
inty=1900;
res=elapsed_y(date.y);
day=elapsed_m(date.y,date.mon);
day+=date.d;
res=(int)res+day;
res+=(date.h+date.m/60.0)/24.0;
returnres;
}
#defineSET_DATE(date,yy,mm,dd,hh,min)(date).y=yy;(date).mon=mm;(date).d=dd;
(date).h=hh;(date).m=min;
voidget_date(doubledays,Date*date){
inty=(int)(days/365.2425)+1900;
intmon,d,h,m;
if(elapsed_y(y+1)<days){
y++;
}
days-=elapsed_y(y);
d=(int)days;
mon=d/31+1;
if(elapsed_m(y,mon+1)<d){
mon+=1;
}
d-=elapsed_m(y,mon);
days-=(int)days;
h=(int)(days*24);
m=(int)(days*24.0*60.0)%60;
SET_DATE(*date,y,mon,d,h,m);
}
intmain(){
inti;
Datedd;
Datekk;
SET_DATE(dd,2016,7,25,20,31);
printf("tonumber:%f ",get_day(dd));
get_date(get_day(dd),&kk);
printf("todate:%d-%d-%d%02d:%02d ",kk.y,kk.mon,kk.d,kk.h,kk.m);
return0;
}
9. 怎麼在html中把時間戳轉換成正常日期啊
如何把時間戳轉成日期一般有兩種方式,一個是使用腳本語言來轉換好之後顯示,一個是使用js來前台轉換.
一:腳本語言方式(以php為例)[推薦]
在輸出的時候遇到時間戳,一般都是使用腳本語言處理好之後傳給前端來顯示.一般的腳本語言中都有轉換時間格式的方法.例如PHP中的date方法
<?php
$time='1499655375';//時間戳一般為10位整型數字
$timestr=date('Y-m-dH:i:s',$time);//轉換時,需要設置輸出格式
echo$timestr;//輸出2017-7-1010:56:15
在php或其他後台腳本處理完之後,然後傳送給前端直接顯示即可.
二:JS前端轉換[不推薦]
如果後台程序不會轉換或者其他原因只能接收到時間戳,那麼就需要前端用JS來裝換格式了.
<script>
vartime='1499655375';
varnewtime=time*1000;//這里需要注意js時間戳精確到毫秒,所以要乘以1000後轉換.
//方法一(格式受限於用戶系統,不推薦):
vartimestr=newDate(newtime);
alert(timestr);//輸出格式2017/7/10上午10:56:15
//方法二(推薦):
functiongettime(t){
var_time=newDate(t);
varyear=_time.getFullYear();//2017
varmonth=_time.getMonth()+1;//7
vardate=_time.getDate();//10
varhour=_time.getHours();//10
varminute=_time.getMinutes();//56
varsecond=_time.getSeconds();//15
returnyear+"年"+month+"月"+date+"日"+hour+":"+minute+":"+second;//這里自己按自己需要的格式拼接
}
alert(gettime(newtime));//輸出2017年7月10日10:56:15
</script>
10. 如何實現時間戳轉換
以前遇到過一個關於時間戳的問題,為了不被大家鄙視,先說一下概念。
具體時間戳怎麼定義的我也不清楚,但網路中有這么一句:「時間戳是自 1970 年 1 月 1 日(00:00:00 GMT)至當前時間的總秒數」。
按這個定義,編程語言中倒是有一種類似的函數,getTime(),但這個函數返回的是自1970年1月1日到當前時間的總 毫秒數 ,而不是總 秒數。
在js中,將一個字元轉化成Date型也不是什麼難事:
var str = '2013-08-30'; // 日期字元串
str = str.replace(/-/g,'/'); // 將-替換成/,因為下面這個構造函數只支持/分隔的日期字元串
var date = new Date(str); // 構造一個日期型數據,值為傳入的字元串
在上面,new Date(str)構造了一個日期,參數str至少要提供年月日三部分,也就是形如「2013/03/08」的字元串,不能是"2013/03",否則將得到一個NaN。此時構造出來的時間是:2013/03/08 00:00:00。同時你還可以傳入小時、分鍾和秒數,但不能只傳入小時,比如「2013/03/08 17」,這樣的參數同樣會得到一個NaN。參數可以是「2013/03/08 17:20」或者「2013/03/08 17:20:05」,這樣都可以得到正確的時間,其中如果秒數沒給出,則默認為0。
此時得到的是日期型數據,如果要得到上面所謂的時間戳,可以這樣:
var time = date.getTime();
這樣得到的是一個數值,表示的是從1970年1月1日0點0分0秒到date那一刻的毫秒數,如果把這個數字除以1000,就得到了秒數,同樣繼續除以60,得到分鍾,再除以60得到小時等等。
提示,通過這個getTime()函數,你可以得到兩個日期的毫秒數,繼而轉化成秒數、分鍾、小時甚至天數,比較兩個日期的差值。