导航:首页 > 操作系统 > 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日期加减相关的资料

热点内容
51单片机程序单步视频 浏览:239
家庭宽带如何连接服务器 浏览:117
汽车高压泵解压 浏览:770
上门正骨用什么app 浏览:758
安卓为什么免费使用 浏览:397
加密货币都有哪些平台 浏览:625
python和matlab难度 浏览:388
python爬虫很难学么 浏览:572
小米解压积木可以组成什么呢 浏览:816
为什么滴滴出行app还能用 浏览:564
怎么升级手机android 浏览:923
php权威编程pdf 浏览:994
扣扣加密技巧 浏览:720
苹果如何创建服务器错误 浏览:497
软考初级程序员大题分值 浏览:475
js压缩视频文件 浏览:580
linux如何通过命令创建文件 浏览:991
应用加密app还能访问应用嘛 浏览:435
安卓怎么用支付宝交违章罚款 浏览:667
php面向对象的程序设计 浏览:506