當前位置:首頁 » 安卓系統 » android日期計算

android日期計算

發布時間: 2022-09-25 09:20:42

『壹』 求安卓可以計算日期,紀念日的軟體

我想LZ需要的是 「365日歷 」,這是一款很強大的免費日歷軟體,支持多個系統平台,各平台之間可以互相同步,主要功能有:日歷、日程、待辦事項、星座運程、黃道吉日、天氣預報等,其中還包括LZ需要的日期計算功能。

請LZ移步到 w w w .365rili . com ,免費下載 Android版 的 365日歷(下載和使用均免費,如需在pc版和手機版之間同步數據,需要注冊帳號,也是免費的!)

以上是 moden又燒了 在凌晨兩點給你的回答!希望能幫到你!
(我再也不喝咖啡啦 55555555555,睡不著啊!!!!)

『貳』 android 計算兩個時間相隔多少天

/* * 輸入某年某月某日,判斷這一天是這一年的第幾天? */
public int getDateDays (String date1, String date2)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyymmdd");
try {
Date date = sdf.parse(date1);// 通過日期格式的parse()方法將字元串轉換成日期 Date dateBegin = sdf.parse(date2);
long betweenTime = date.getTime() - dateBegin.getTime();
betweenTime = betweenTime / 1000 / 60 / 60 / 24;
} catch(Exception e)
{
}
return (int)betweenTime;
}

『叄』 android計算某一時刻到現在經歷了多少天多少分多少秒

你這問題的核心就是計算時間差啊,網上代碼很多的。
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d1 = df.parse("2006-05-26 12:00:00");
Date d2 = df.parse("2006-07-02 11:20:00");
//Date d2 = new Date(System.currentTimeMillis());//你也可以獲取當前時間
long diff = d1.getTime() - d2.getTime();//這樣得到的差值是微秒級別
long days = diff / (1000 * 60 * 60 * 24);
long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60);
long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);

System.out.println(""+days+"天"+hours+"小時"+minutes+"分");
}
catch (Exception e)
{
}

『肆』 android如何判斷輸入的年月日是否合法

既然要判斷某一天是星期幾,你總得知道,某一基準日期是星期幾把,我好像沒有找到有關於基準日期的代碼,你的代碼沒有注釋看起來特費勁!!!
我給你寫一個,你參考下,運行過了,么有任何問題!!
又不明白的可以交流下!
我的是以1970年1月1日,作為基準日期,此日是周四

#include <stdio.h>

//計算給定的日期是本年的第幾天
int count(int year,int month,int day)
{int i,sum=0,flag=0;
int a[13]=;
for(i=1;i<month;i++)
sum=a[i]+sum;
if(year%400==0||year%100!=0&&year%4==0)
flag=1;
if(flag==1&&month>2) sum++;
sum=sum+day;

return sum;

}

int main()
{
int year,month,day;
int sum=0,i;
int a;
//1970年1月1日是周四。
printf("輸入日期:");
scanf("%d%d%d",&year,&month,&day);
for(i=1970;i<year;i++)
{
if(i%400==0||i%100!=0&&i%4==0)
sum=sum+366 ;
else sum=sum+365;
}
sum+=count(year,month,day)-1;
a=sum%7;
switch(a)
{
case 0:printf("%d年%d月%d日是:周四\n",year,month,day);break;
case 1:printf("%d年%d月%d日是:周五\n",year,month,day);break;
case 2:printf("%d年%d月%d日是:周六\n",year,month,day);break;
case 3:printf("%d年%d月%d日是:周日\n",year,month,day);break;
case 4:printf("%d年%d月%d日是:周一\n",year,month,day);break;
case 5:printf("%d年%d月%d日是:周二\n",year,month,day);break;
case 6:printf("%d年%d月%d日是:周三\n",year,month,day);break;

}

return 0;
}

c編程高手團隊正在招新,有意者速速行動,一起學習,一起努力!!

『伍』 android中怎麼使timecount自動開始計時

android計時器,時間計算器的實現方法,需要的朋友可以參考一下

需求:默認為"00:00:00",點擊開始按鈕時清零後開始計時,出現如10:28:34。點擊停止的時候停止計時。
問題:使用Calendar
DateFormat的方法,不設置時區獲取到的小時是本地時區的(東八區的就是8),設置成GMT標准時區獲取到的時間是12小時(12:00:00),設置24小時制無效。
在開始時間加減各種小時都無效,而且計時只能到12小時就自動跳上去了,始終無法出現默認狀態00:00:00開始計時的效果。
嘗試各種時間設置方法無效後只能自己寫一個根據秒數轉換時間格式字元串的方法了,經過測試是沒問題的,兩位數只能顯示99小時為最大,如需要更大小時數需要改改方法。
另外小時數也不能無限大,超過long數據類型長度會變成負數的,會出現異常的。

顯示效果:

測試類:

復制代碼
代碼如下:

public class TestTime {
public
static void main(String[] args) {
TestTime tt = new
TestTime();
tt.showTimeCount(99*3600000+75*1000);

}

//時間計數器,最多隻能到99小時,如需要更大小時數需要改改方法
public String
showTimeCount(long time) {

System.out.println("time="+time);
if(time >=
360000000){
return "00:00:00";
}
String
timeCount = "";
long hourc = time/3600000;
String hour =
"0" + hourc;
System.out.println("hour="+hour);
hour =
hour.substring(hour.length()-2, hour.length());

System.out.println("hour2="+hour);

long minuec =
(time-hourc*3600000)/(60000);
String minue = "0" +
minuec;
System.out.println("minue="+minue);
minue =
minue.substring(minue.length()-2, minue.length());

System.out.println("minue2="+minue);

long secc =
(time-hourc*3600000-minuec*60000)/1000;
String sec = "0" +
secc;
System.out.println("sec="+sec);
sec =
sec.substring(sec.length()-2, sec.length());

System.out.println("sec2="+sec);
timeCount = hour + ":" + minue +
":" + sec;
System.out.println("timeCount="+timeCount);

return timeCount;
}

}

實際例子:

復制代碼
代碼如下:

//時間計數器,最多隻能到99小時,如需要更大小時數需要改改方法

public String showTimeCount(long time) {
if(time >=
360000000){
return "00:00:00";
}
String
timeCount = "";
long hourc = time/3600000;
String hour =
"0" + hourc;
hour = hour.substring(hour.length()-2,
hour.length());

long minuec =
(time-hourc*3600000)/(60000);
String minue = "0" +
minuec;
minue = minue.substring(minue.length()-2,
minue.length());

long secc =
(time-hourc*3600000-minuec*60000)/1000;
String sec = "0" +
secc;
sec = sec.substring(sec.length()-2, sec.length());

timeCount = hour + ":" + minue + ":" + sec;
return
timeCount;
}

private Handler stepTimeHandler;

private Runnable mTicker;
long startTime = 0;

//開始按鈕

class startBtnListener implements OnClickListener {

@Override
public void onClick(View v) {
Button b =
(Button)v;
String buttonText =
b.getText().toString();

if("Start".equalsIgnoreCase(buttonText)){

b.setText("Stop");
// 清零 開始計時

stepTimeTV.setText("00:00:00");
stepTimeHandler = new
Handler();
startTime =
System.currentTimeMillis();
mTicker = new Runnable()
{
public void run() {
String
content = showTimeCount(System.currentTimeMillis() -
startTime);

stepTimeTV.setText(content);

long now =
SystemClock.uptimeMillis();
long next = now + (1000
- now % 1000);
stepTimeHandler.postAtTime(mTicker,
next);
}
};

//啟動計時線程,定時更新
mTicker.run();

}else{
b.setText("Start");
//停止計時 Remove
any pending posts of Runnable r that are in the message
queue.

stepTimeHandler.removeCallbacks(mTicker);
}

}
}

用時間格式化的方式測試代碼:

復制代碼
代碼如下:

//開始按鈕 通過Calendar時間設置的方式,無法正常顯示小時為0

class startBtnListener implements OnClickListener {

@Override
public void onClick(View v) {
Button b =
(Button)v;
String buttonText =
b.getText().toString();

if("Start".equalsIgnoreCase(buttonText)){

b.setText("Stop");
// 清零 開始計時

stepTimeTV.setText("00:00:00");
if (mCalendar == null)
{
mCalendar =
Calendar.getInstance();
TimeZone tz =
TimeZone.getTimeZone("GMT");//GMT+8

mCalendar.setTimeZone(tz);

mCalendar.get(Calendar.HOUR_OF_DAY);//24小時制

}
stepTimeHandler = new Handler();

//System.uptimeMillis()
//記錄從機器啟動後到現在的毫秒數,當系統進入深度睡眠時,此計時器將會停止

//System.currentTimeMillis()
//返回自1970年1月1日到現在的毫秒數,通常用來設置日期和時間
//System.elapsedRealtime()
//返回從機器啟動後到現在的毫秒數,包括系統深度睡眠的時間,api里沒有這個方法

//直接取得的是當地時區時間,當地時間跟時區有關,設置GMT後始終多12小時
startTime =
System.currentTimeMillis();//12*3600000 - 36*3600000減掉或者加上12小時都不行

mTicker = new Runnable() {
public
void run() {
//這個減出來的日期是1970年的 時間格式不能出現00:00:00
12:00:00
long showTime = System.currentTimeMillis()
- startTime;

Log.i(TAG,showTime+"");

mCalendar.setTimeInMillis(showTime + 13*3600000 +
1000);
String content = (String)
DateFormat.format(mFormat, mCalendar);

stepTimeTV.setText(content);

long now =
SystemClock.uptimeMillis();
long next = now + (1000
- now % 1000);
stepTimeHandler.postAtTime(mTicker,
next);
}
};

//啟動計時線程,定時更新
mTicker.run();

}else{
b.setText("Start");
//停止計時 Remove
any pending posts of Runnable r that are in the message
queue.

stepTimeHandler.removeCallbacks(mTicker);
}

}
}

private Handler stepTimeHandler;
Calendar
mCalendar;
String mFormat = "yyyy-MM-dd hh:mm:ss";//yyyy-MM-dd

long startTime = 0;
private Runnable mTicker;

『陸』 android有獲取當前星期幾的系統方法嗎還是得自己寫一個根據年月日計算星期幾的詳細方法,謝謝

**
* 判斷當前日期是星期幾
*
* @param pTime 設置的需要判斷的時間 //格式如2012-09-08
*
* @return dayForWeek 判斷結果
* @Exception 發生異常
*/
// String pTime = "2012-03-12";
private String getWeek(String pTime) {

String Week = "";

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
try {
c.setTime(format.parse(pTime));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (c.get(Calendar.DAY_OF_WEEK) == 1) {
Week += "天";
}
if (c.get(Calendar.DAY_OF_WEEK) == 2) {
Week += "一";
}
if (c.get(Calendar.DAY_OF_WEEK) == 3) {
Week += "二";
}
if (c.get(Calendar.DAY_OF_WEEK) == 4) {
Week += "三";
}
if (c.get(Calendar.DAY_OF_WEEK) == 5) {
Week += "四";
}
if (c.get(Calendar.DAY_OF_WEEK) == 6) {
Week += "五";
}
if (c.get(Calendar.DAY_OF_WEEK) == 7) {
Week += "六";
}

return Week;
}

『柒』 android計算一年每月的天數.

Android 獲取2個日期相差天數
最近一直需要用到日期處理。
返回2個日期的相差天數。

/**
* 獲取兩個日期之間的間隔天數
* @return
*/
public static int getGapCount(Date startDate, Date endDate) {
Calendar fromCalendar = Calendar.getInstance();
fromCalendar.setTime(startDate);
fromCalendar.set(Calendar.HOUR_OF_DAY, 0);
fromCalendar.set(Calendar.MINUTE, 0);
fromCalendar.set(Calendar.SECOND, 0);
fromCalendar.set(Calendar.MILLISECOND, 0);

Calendar toCalendar = Calendar.getInstance();
toCalendar.setTime(endDate);
toCalendar.set(Calendar.HOUR_OF_DAY, 0);
toCalendar.set(Calendar.MINUTE, 0);
toCalendar.set(Calendar.SECOND, 0);
toCalendar.set(Calendar.MILLISECOND, 0);

return (int) ((toCalendar.getTime().getTime() - fromCalendar.getTime().getTime()) / (1000 * 60 * 60 * 24));
}

//測試
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date_start = null;
Date date_end = null;
try {
date_start = sdf.parse("2013-10-16");
date_end = sdf.parse("2013-10-19");
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(getGapCount(date_start,date_end));

熱點內容
腳本健康cpu佔用率報警 發布:2024-03-29 21:16:42 瀏覽:254
vivox9什麼配置參數 發布:2024-03-29 21:08:09 瀏覽:936
傳奇計時器刷怪腳本 發布:2024-03-29 20:50:18 瀏覽:653
哇哇賺錢腳本 發布:2024-03-29 20:23:53 瀏覽:997
兩氣體壓縮 發布:2024-03-29 20:18:09 瀏覽:994
易語言教程解壓 發布:2024-03-29 20:18:00 瀏覽:786
我老爸的密碼是什麼 發布:2024-03-29 20:03:50 瀏覽:248
資料庫定義實驗 發布:2024-03-29 19:52:20 瀏覽:579
如何除去安卓手機的馬賽克 發布:2024-03-29 19:52:16 瀏覽:585
網站緩存設置 發布:2024-03-29 19:47:20 瀏覽:799