当前时间减8小时android_android中获取当前时间并与之前的时间相减 - CSDN
  • Android 日期进行加

    2015-12-10 11:46:15
    最近遇到这样一个需求,...先了解一个名词:时间戳(timestamp), 通常是一个字符序列,唯一地标识某一刻的时间。我们可以把日期字符串转为时间戳long类型就可以进行加了,运算后可以再转回日期格式。代码//Day:日期

    原创文章,转载请注明 http://blog.csdn.net/leejizhou/article/details/50247603
    最近遇到这样一个需求,根据某个日期得到一周前或一个月前或一年前的日期。
    这里写图片描述

    具体的实现思路:
    首先一个日期例如 2015-12-1 这样一个日期格式是肯定不能直接进行加减的,那么应该用什么方法进行加减呢?先了解一个名词:时间戳(timestamp), 通常是一个字符序列,唯一地标识某一刻的时间。

    我们可以把日期字符串转为时间戳long类型就可以进行加减了,运算后可以再转回日期格式。

    代码

    //Day:日期字符串例如 2015-3-10  Num:需要减少的天数例如 7
        public static String getDateStr(String day,int Num) {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            Date nowDate = null;
            try {
                nowDate = df.parse(day);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            //如果需要向后计算日期 -改为+
            Date newDate2 = new Date(nowDate.getTime() - (long)Num * 24 * 60 * 60 * 1000);
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String dateOk = simpleDateFormat.format(newDate2);
            return dateOk;
        }

    Ok这样就实现了,有疑问的地方的可以在下方留言,感谢。

    展开全文
  • 在notepad源码中我可以看到数据库中已经存在了COLUMN_NAME_CREATE_DATE(创建的时间),COLUMN_NAME_MODIFICATION_DATE(修改的时间)都已经在数据库中。 public void onCreate(SQLiteDatabase db) { db.execSQL...

    本文主要是在notepad中实现时间戳的一些见解和问题的解决。

    时间戳的显示实现

    在notepad源码中我可以看到数据库中已经存在了COLUMN_NAME_CREATE_DATE(创建的时间),COLUMN_NAME_MODIFICATION_DATE(修改的时间)都已经在数据库中。

    public void onCreate(SQLiteDatabase db) {
    db.execSQL(“CREATE TABLE " + NotePad.Notes.TABLE_NAME + " (”
    + NotePad.Notes._ID + " INTEGER PRIMARY KEY,"
    + NotePad.Notes.COLUMN_NAME_TITLE + " TEXT,"
    + NotePad.Notes.COLUMN_NAME_NOTE + " TEXT,"
    + NotePad.Notes.COLUMN_NAME_CREATE_DATE + " INTEGER,"
    + NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE + " INTEGER"
    + “);”);
    }

    之后我们就需要在创建和修改的时候对数据库中的时间进行相应的显示。
    对应地点就是在在NotePadProvider的insert函数中。

    Long now = Long.valueOf(System.currentTimeMillis());

    if (values.containsKey(NotePad.Notes.COLUMN_NAME_CREATE_DATE) == false) {
    values.put(NotePad.Notes.COLUMN_NAME_CREATE_DATE, now);
    }
    // If the values map doesn’t contain the modification date, sets the value to the current time.
    if (values.containsKey(NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE) == false) {
    values.put(NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE, now);
    }

    我们需要新建一个dateTime(如下)来替换上面的now

    //转化时间格式
    Date date = new Date(now);
    SimpleDateFormat format = new SimpleDateFormat(“yy.MM.dd HH:mm:ss”);
    String dateTime = format.format(date);

    接着需要在NotesList的数据定义中增加修改时间

    private static final String[] PROJECTION = new String[] {
    NotePad.Notes._ID, // 0
    NotePad.Notes.COLUMN_NAME_TITLE, // 1
    NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE,//在这里加入了修改时间的显示
    };

    最后装配的时候需要装配相应的日期,所以dataColumns,viewIDs这两个参数需要加入时间

    String[] dataColumns = {
    NotePad.Notes.COLUMN_NAME_TITLE,
    NotePad.Notes.COLUMN_NAME_MODIFICATION_DATE//增加时间参数
    } ;

    int[] viewIDs = {
    android.R.id.text1,android.R.id.text2};

    实现图如下:
    在这里插入图片描述

    这时候你会发现时间与现实时间不符,并且相差8小时!!
    这时你需要去NotePadProvider的insert函数中添加如下内容:

    format.setTimeZone(TimeZone.getTimeZone(“GMT”));

    然后在去手机的设置里面把时间的时区改了就可以了。

    作者:黄贞羽
    原文地址

    展开全文
  • (以防下次遇见,故保存) 第一种方法: SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date=new Date(System.currentTimeMillis());...//获取当前时...
    (以防下次遇见,故保存)
    第一种方法:
    SimpleDateFormat   formatter   =   new SimpleDateFormat("yyyy-MM-dd   HH:mm:ss");
    Date date=new Date(System.currentTimeMillis());//系统小时数
    String ss=formatter.format(date);//获取当前时间
    TextView tv= (TextView) findViewById(R.id.tv);//若需要,设置展示
    tv.setText(ss);

    第二种方法:

    //获取系统的日期
    //年
    int year = calendar.get(Calendar.YEAR);
    //月
    int month = calendar.get(Calendar.MONTH)+1;
    //日
    int day = calendar.get(Calendar.DAY_OF_MONTH);
    //获取系统时间
    //小时
    int hour = calendar.get(Calendar.HOUR_OF_DAY);
    //分钟
    int minute = calendar.get(Calendar.MINUTE);
    //秒
    int second = calendar.get(Calendar.SECOND);
     
    textView.setText("获取当前日期"+year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second);

     第三种方法:

    Time t=new Time(); // or Time t=new Time("GMT+8")
    
    t.setToNow(); // 取得系统时间。
    int year = t.year;
    int month = t.month+1;
    int day = t.monthDay;
    int hour = t.hour; // 0-23
    int minute = t.minute;
    int second = t.second;
    textView.setText("获取当前日期"+year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second);
    

     

    展开全文
  • 获取当前时间 System.currentTimeMillis() //获取当前时间(毫秒,long型)   将时间转为特定格式 Date date = new Date(System.currentTimeMillis());  SimpleDateFormat dateFormat = new ...

    获取当前时间

    System.currentTimeMillis()     //获取当前时间(毫秒,long型)

     

    将时间转为特定格式

    Date date = new Date(System.currentTimeMillis());   

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");    

    //或 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");

    //或 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); 

    String curTime = dateFormat.format(date);    //将时间转换为固定格式(年月日时分秒)

    展开全文
  • android 日期的加

    2016-05-09 11:33:19
    import java.util.Date ;  /*SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");//日期显示的格式  Date date= df.parse("20160926 12:56:33");//string字符串转换为日期 */ ...
  • import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Mytest { /** * @param args */ ... public static void main(Stri...
  • * 日期加。 * @param base 基础日期 * @param days 增加天数(天数则用负数) * @return 计算结果 */ public static Date datePlus(Date base, int days) { Calendar cal = Calendar.getInst
  • 重点就是在date2.setHours(date1.getHours() + 1)这一句 比如需要月份的加可以...当前时间往后一小时 var date1 = new Date(); // Fri Jul 05 2019 11:16:00 GMT+0800 (中国标准时间) var date2 = new Date(date1...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 最近在公司的项目中有一个设置闹钟的功能,在设置时间上选择了Android系统自带的控件TimePicker,使用起来呢比较简单,它自带有2种样式属性,一种是clock,一种是spinner,我用的是spinner形式,在我的项目中,一开始...
  • 关于Data的一些方法,当前时间推后计算,当前时间提前几天计算,String转换Data类型,Data转换String类型
  • Calendar calendar=Calendar.getInstance(); Date nowTime=calendar.getTime(); System.out.println(nowTime); calendar.add(Calendar.HOUR, ... //填负数 nowTime=calendar.getTime(); System.out.println(nowT
  • 当前项目需要计算时间差,进行数据处理,所以在Csdn上找了一下,之后修修补补是可以用的,建议大家如果用到项目中的话,可能需要把老的时间戳或者时间format存储在文件或者sp中,之后用于判断,然后进行自己的逻辑...
  • 记录一下,有个需求是关于时间的倒计时的判断的,在网上找了很多资料,整理了一下对自己有用的 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); /* 当前系统时间*/ ...
  • Calendar calendar = Calendar.getInstance(); //创建Calendar 的实例 ...//获取当前时间 calendar.setTime(date); calendar.add(Calendar.YEAR,-3); //返回当前时间的毫秒数 calendar.getTime() //类似的 //当前...
  • 比如 2019-05-03 加10天,再加20天,再加30天,应该怎么计算。因为要考虑大小月(30天/31天),如果是2月还要考虑平年闰年。想想都会很头疼。一大推逻辑等着自己处理。 Calendar ...
  • 想要写个根据消耗时长来确定开始结束时间的小工具,发现Android处理时间上有点累,可能是我没找到合适的方法吧,先把我的解决办法贴出来。1、根据时间字符串获取毫秒数。2、根据毫秒数的差值来计算时间差。传入开始...
  • 使用moment.js格式化本地时间戳时多出了8小时问题,这8小时是本地时间与格林威治标准时间(GMT)的时差 *例如:moment(5*60*1000),将5分钟的本地时间戳转为日期,结果会多出8小时,就是解决此问题。 2、解决方案 ...
  • LocalDateTime返回的格式为 2019-01-15T20:46:45 与之前相比是把空格换成了大写的 “T” ,所以把大写的T替换成空后再按之前的来转换就行了,因为JAVA8时间格式还存在其他的,所以: const time = ‘2019-01-15T20:...
  • 这个月根据需求在项目中做了一个时间选择器,虽然没有用到Android原生的时间选择控件,但我羞愧地发现自己竟然从来没有用过这方面控件!趁现在有时间,赶紧查缺补漏,写一篇博客吧。(注:为了便于区分,本文将选择...
1 2 3 4 5 ... 20
收藏数 8,695
精华内容 3,478
关键字:

当前时间减8小时android