導航:首頁 > 操作系統 > android日期加減

android日期加減

發布時間:2022-12-17 21:52:35

❶ 如何用android寫一個時間戳編碼程序『

java">這是我項目中正在用的時間戳,沒經過整理,你看下

package com.tianwei.utils;

import android.net.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

/**

* Created by GT on 2017/8/22.

* 註:Uinix和Windows時間不同

*/

public class Time {

public void Time() {

}

//格式時間

public static String systemTime(String time) {

SimpleDateFormat sDateFormat = null;

if (time != null && time.length() > 0) {

sDateFormat = new SimpleDateFormat(time);

} else {

sDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");

}

String date = sDateFormat.format(new java.util.Date());

return date;

}

//無格式時間

public static String systemTime() {

SimpleDateFormat sDateFormat = null;

sDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");

String date = sDateFormat.format(new java.util.Date());

return date;

}

/*

* 將時間戳轉換為時間

*/

public static String stampToDate(String s, String time) {

String res;

SimpleDateFormat simpleDateFormat;

if (time == null && time.length() > 0) {

simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

} else {

simpleDateFormat = new SimpleDateFormat(time);

}

long lt = new Long(s);

Date date = new Date(lt);

res = simpleDateFormat.format(date);

return res;

}

/*

* 將時間轉換為時間戳

*/

public static String dateToStamp(String s) throws ParseException {

String res;

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date = null;

try {

date = simpleDateFormat.parse(s);

} catch (java.text.ParseException e) {

e.printStackTrace();

}

long ts = date.getTime();

res = String.valueOf(ts);

return res;

}

/**

* 系統時間戳

*/

public static long dataStampDate() {

long s = System.currentTimeMillis();

// long s = new Date().getTime();

// long s = Calendar.getInstance().getTimeInMillis();

return s;

}

/**

* Unix

* 時間戳轉換成日期格式

*

* @param timestampString

* @param formats

* @return

*/

public static String timeStampUnixDate(String timestampString, String formats) {

Long timestamp = Long.parseLong(timestampString) * 1000;

String date = new java.text.SimpleDateFormat(formats).format(new java.util.Date(timestamp));

return date;

}

/**

* Unix

* 日期格式字元串轉換成時間戳

*

* @param dateStr 字元串日期

* @param format 如:yyyy-MM-dd HH:mm:ss

* @return

*/

public static String dateUinxTimeStamp(String dateStr, String format) {

try {

SimpleDateFormat sdf = null;

if (format != null && format.length() > 0) {

sdf = new SimpleDateFormat(format);

} else {

sdf = new SimpleDateFormat("yyyyMMddhhmmss");

}

return String.valueOf(sdf.parse(dateStr).getTime() / 1000);

} catch (Exception e) {

e.printStackTrace();

}

return "";

}

/**

* 兩個時間間的時間戳計算函數

*

* @param beginDate

* @param endDate

* @param f 時間差的形式0:秒,1:分種,2:小時,3:天

* @return long 秒

*/

public static long getDifference(Date beginDate, Date endDate, int f) {

long result = 0;

if (beginDate == null || endDate == null) {

return 0;

}

try {

// 日期相減獲取日期差X(單位:毫秒)

long millisecond = endDate.getTime() - beginDate.getTime();

/**

* Math.abs((int)(millisecond/1000)); 絕對值 1秒 = 1000毫秒

* millisecond/1000 --> 秒 millisecond/1000*60 - > 分鍾

* millisecond/(1000*60*60) -- > 小時 millisecond/(1000*60*60*24) -->

* 天

* */

switch (f) {

case 0: // second

return (millisecond / 1000);

case 1: // minute

return (millisecond / (1000 * 60));

case 2: // hour

return (millisecond / (1000 * 60 * 60));

case 3: // day

return (millisecond / (1000 * 60 * 60 * 24));

}

} catch (Exception e) {

e.printStackTrace();

}

return result;

}

/**

* 計算時間差

*

* @param starTime 開始時間

* @param endTime 結束時間

* @return 返回時間差

* @param返回類型==1----天,時,分。 ==2----時

*/

public String getTimeDifference(String starTime, String endTime) {

String timeString = "";

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");

try {

Date parse = dateFormat.parse(starTime);

Date parse1 = dateFormat.parse(endTime);

long diff = parse1.getTime() - parse.getTime();

long day = diff / (24 * 60 * 60 * 1000);

long hour = (diff / (60 * 60 * 1000) - day * 24);

long min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);

long s = (diff / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);

long ms = (diff - day * 24 * 60 * 60 * 1000 - hour * 60 * 60 * 1000

- min * 60 * 1000 - s * 1000);

// System.out.println(day + "天" + hour + "小時" + min + "分" + s +

// "秒");

long hour1 = diff / (60 * 60 * 1000);

String hourString = hour1 + "";

long min1 = ((diff / (60 * 1000)) - hour1 * 60);

timeString = hour1 + "小時" + min1 + "分";

// System.out.println(day + "天" + hour + "小時" + min + "分" + s +

// "秒");

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (java.text.ParseException e) {

e.printStackTrace();

}

return timeString;

}

/**

* Java YEAR、MONTH、DAY_OF_MONTH、HOUR加減法,int num +(日期前) -(日期後)

*

* @param num

* @param type

* @return

*/

public static String timeDateCompute(int num, int type) {

// YEAR、MONTH、DAY_OF_MONTH、HOUR 等

Calendar cal = Calendar.getInstance();//使用默認時區和語言環境獲得一個日歷。

if (type > 6) {

return null;

}

switch (type) {

case 0://年

cal.add(Calendar.YEAR, -num);

break;

case 1://月

cal.add(Calendar.MONTH, -num);

break;

case 2://日

cal.add(Calendar.DAY_OF_MONTH, -num);//取當前日期的前num天.

break;

case 3://時

cal.add(Calendar.HOUR_OF_DAY, -num);

break;

case 4://分

cal.add(Calendar.MINUTE, -num);

break;

case 5://秒

cal.add(Calendar.SECOND, -num);

break;

case 6://周

cal.add(Calendar.WEEK_OF_MONTH, -num);

break;

}

//通過格式化輸出日期

SimpleDateFormat format = new java.text.SimpleDateFormat("yyyyMMddHHmmss");

// SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

if (type == 0) {

System.out.println("Today is: " + format.format(Calendar.getInstance().getTime()));

}

System.out.println("CutNum is: " + format.format(cal.getTime()));

String CutNum = format.format(cal.getTime());

return CutNum;

}

/**

* 時間日期加減(-前,+後)

*

* @param statTime

* @param ymdhms

* @param type

* @return

*/

public String timeNum(Date statTime, int ymdhms, int type) {

String tn = null;

SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");

System.out.println("今天的日期:" + df.format(statTime));

System.out.println("兩天前的日期:" + df.format(new Date(statTime.getTime() - 2 * 24 * 60 * 60 * 1000)));

System.out.println("三天後的日期:" + df.format(new Date(statTime.getTime() + 3 * 24 * 60 * 60 * 1000)));

switch (type) {

case 0://年

break;

case 1://月

break;

case 2://日

tn = df.format(new Date(statTime.getTime() - ymdhms * 24 * 60 * 60 * 1000));

break;

case 3://時

tn = df.format(new Date(statTime.getTime() - ymdhms * 60 * 60 * 1000));

break;

case 4://分

tn = df.format(new Date(statTime.getTime() - ymdhms * 60 * 1000));

break;

case 5://秒

tn = df.format(new Date(statTime.getTime() - ymdhms * 1000));

break;

}

return tn;

}

/**

* 時間日期加減(-前,+後)

*

* @param statTime

* @param year

* @param month

* @param day

* @param hour

* @param min

* @param sec

* @return

*/

public String timeNumStr(Date statTime, int year, int month, int day, int hour, int min, int sec) {

String tn = null;

SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");

System.out.println("今天的日期:" + df.format(statTime));

System.out.println("兩天前的日期:" + df.format(new Date(statTime.getTime() - 2 * 24 * 60 * 60 * 1000)));

System.out.println("三天後的日期:" + df.format(new Date(statTime.getTime() + 3 * 24 * 60 * 60 * 1000)));

tn = df.format(new Date(statTime.getTime() - day * hour * min * sec * 1000));

return tn;

}

}

❷ android怎麼算 今天的日期到下個月某一天的日期例如 今天是2016年10月27號 到下個月的 20號 怎麼算

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Integer.parseInt(year));
calendar.set(Calendar.MONTH, Integer.parseInt(month)-1);
calendar.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));
calendar.set(Calendar.HOUR_OF_DAY,0);
calendar.set(Calendar.SECOND,0);
calendar.set(Calendar.MILLISECOND,0);
long setTime = calendar.getTimeInMillis();
year,month,day分別是設置的年月日的值,當然小時分鍾等也可以設置在這里我算設置的0,然後可以獲取設置的日期的

❸ java如何計算日期的加減

第一種,知道日期,如2019091109144
String str=txnTime;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date dt = null;
try {
dt = sdf.parse(str);
} catch (ParseException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期減1年
rightNow.add(Calendar.MONTH,3);//日期加3個月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
rightNow.add(Calendar.SECOND,60);//日期加60秒天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
第二種,自己獲取時間,格式化輸出計算加減
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date now = new Date();
long time = 60*1000;//60秒
Date afterDate = new Date(now .getTime() + time);//60秒後的時間
Date beforeDate = new Date(now .getTime() - time);//60秒前的時間
System.out.println(sdf.format(afterDate ));

❹ android怎樣獲取第 2 3 4 5 6天的日期啊啊 啊

Android可以通過 java.util.Calendar,日歷工具類來獲取日期,和時間。
具體代碼:
1.獲取 Calendar實例
java.util.Calendar c = Calendar.getInstance();

2.設置日期為今天+1,即等於第二天。
c.add(Calendar.DAY_OF_MONTH, 1);
add就是加的時間,如果要前一天,可以傳遞-1

3.獲取日期格式化工具類
java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

4.得到結果
String time = sdf.format(c.getTime())
System.out.println(time);

❺ 按鍵精靈手機版日期怎麼加減

先轉成時間戳.再減去一天的的秒數.然後再轉回來就行了

❻ Android 在一個日期上增加100天得出的日期

Android 在一個日期上增加100天得出的日期
Date 數據類型,Date 變數存儲為 IEEE 64 位(8 個位元組)浮點數值形式,其可以表示的日期范圍從 100 年 1 月 1 日到 9999 年 12 月 31 日,而時間可以從 0:00:00 到 23:59:59。任何可辨認的文本日期都可以賦值給 Date 變數。日期文字須以數字元號 (#) 擴起來,例如,#January 1, 1993# 或 #1 Jan 93#。

❼ android sdk為19,為什麼日期選擇框不是滑輪,調出的總是4.0以前的加減選擇

這個要查看你的style了
res/目錄下有
values
values-v11
values-v14
分別表示,2.* 3.* 4.* 版本
你看一下,values-v14目錄下的sytles.xml中,style用的是哪個

❽ Android下幾個相關的時間日期控制項的用法

獲取年月日,之前的日期不能選擇

日歷c = Calendar.getInstance(); //獲取系統的工具類【可以獲取時間】DatePickerDialog datePickerDialog = new DatePickerDialog(context,new DatePickerDialog.OnDateSetListener(){@覆蓋public void onDateSet(DatePicker view,int year,int month,int dayOfMonth){月+ = 1;yuyueTime.setText(year +「 - 」+ month +「 - 」+ dayOfMonth);}},c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DATE)); //設置默認時間。datePickerDialog.getDatePicker()setMinDate(c.getTime()的getTime()); //設置最小值datePickerDialog.show();

相關類的認識
選取器(的DatePicker,TimerPicker,NumberPicker)
其中的DatePicker和TimerPicker都有窗口的形式顯示日期和時間,再返回數據。

下面分別介紹這幾種時間類的使用方法。

一.DatePicker日期選擇類的使用

DatePicker的常用的XML屬性

XML屬性

描述

機器人:calendarViewShown 設置該日期選擇是否顯示CalendarView組件。

機器人:endYear 設置日期選擇器允許選擇的最後一年。

安卓的maxDate 設置該日期選擇器的最大日期。以MM / DD / YYYY格式指定最大日期。

安卓的minDate 設置該日期選擇器的最小日期。以MM / DD / YYYY格式指定最小日期。

機器人:spinnersShown 設置該日期選擇器是否顯示微調日期選擇組件。

機器人:startYear 設置日期選擇器允許選擇的第一年。


當用戶更改了的DatePicker里的年,月,日時,將觸發OnDateChangedListener監聽器的onDateChange()事件。

二.TimePicker日期選擇類的使用


當用戶更改了TimePicker里的時,分時,將觸發OnTimeChangedListener監聽器的onTimeChanged事件。

下面是日期選擇類和時間選擇類的一個使用示例:

(一)布局文件設計

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="顯示日期的控制項" /><DatePicker android:id="@+id/main_dp"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="顯示時間的控制項" /><TimePicker android:id="@+id/main_tp_showTime"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:id="@+id/main_tv_showdate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="顯示日期" /><TextView android:id="@+id/main_tv_showtime"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="顯示時間" /></LinearLayout>

❾ 問個關於安卓開發中的時間相減的問題

try {
java.util.Date nowdate = new Date();
java.util.Date setdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.parse("2014-05-28 18:30:59");
long between = (setdate.getTime() - nowdate.getTime());
boolean result = between < 1000 * 60 * 60;
System.out.println(result);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

❿ Android中如何獲取系統時間和日期,星期

Android中獲取系統時間和日期,星期代碼如下:

import java.text.SimpleDateFormat;

SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(System.currentTimeMillis());//獲取當前時間
String str = formatter.format(curDate);

可以獲取當前的年月時分,也可以分開寫:

復制代碼 代碼如下:

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date = sDateFormat.format(new java.util.Date());

如果想獲取當前的年月,則可以這樣寫(只獲取時間或秒種一樣):
Java代碼

復制代碼 代碼如下:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");
String date=sdf.format(new java.util.Date());

當然還有就是可以指定時區的時間(待):

復制代碼 代碼如下:

df=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,Locale.CHINA);
System.out.println(df.format(new Date()));

如何獲取Android系統時間是24小時制還是12小時制

復制代碼 代碼如下:

ContentResolver cv = this.getContentResolver();
String strTimeFormat = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.TIME_12_24);

if(strTimeFormat.equals("24"))
{
Log.i("activity","24");
}

復制代碼 代碼如下:

Calendar c = Calendar.getInstance();
取得系統日期:year = c.get(Calendar.YEAR)
month = c.grt(Calendar.MONTH)
day = c.get(Calendar.DAY_OF_MONTH)
取得系統時間:hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE)

利用Calendar獲取

復制代碼 代碼如下:

Calendar c = Calendar.getInstance();
取得系統日期:year = c.get(Calendar.YEAR)
month = c.grt(Calendar.MONTH)
day = c.get(Calendar.DAY_OF_MONTH)
取得系統時間:hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE)
Calendar c = Calendar.getInstance();
取得系統日期:year = c.get(Calendar.YEAR)
month = c.grt(Calendar.MONTH)
day = c.get(Calendar.DAY_OF_MONTH)
取得系統時間:hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE)

利用Time獲取

復制代碼 代碼如下:

Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone資料。
t.setToNow(); // 取得系統時間。
int year = t.year;
int month = t.month;
int date = t.monthDay;
int hour = t.hour; // 0-23
int minute = t.minute;
int second = t.second;

閱讀全文

與android日期加減相關的資料

熱點內容
扣扣加密技巧 瀏覽:720
蘋果如何創建伺服器錯誤 瀏覽:495
軟考初級程序員大題分值 瀏覽:473
js壓縮視頻文件 瀏覽:578
linux如何通過命令創建文件 瀏覽:989
應用加密app還能訪問應用嘛 瀏覽:433
安卓怎麼用支付寶交違章罰款 瀏覽:665
php面向對象的程序設計 瀏覽:504
數據挖掘演算法書籍推薦 瀏覽:894
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:276
unsignedintjava 瀏覽:217
編譯器下載地址 瀏覽:43
什麼是面對對象編程 瀏覽:709
b站伺服器什麼時候恢復 瀏覽:722