2016-06-05 19:07:10 yanlixu 阅读数 7061
  • 快速入门Android开发 视频 教程 android studio

    这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

    19484 人正在学习 去看看 任苹蜻

activity_main


<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.exddample.time.MainActivity" >


    <TextView
        android:id="@+id/tv_time1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    <TextView
        android:id="@+id/tv_time2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/tv_time1"
        android:text="@string/hello_world" />
    <TextView
        android:id="@+id/tv_time3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/tv_time2"
        android:text="@string/hello_world" />


</RelativeLayout>








MainActivity


package com.exddample.time;


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;


@SuppressLint({ "SimpleDateFormat", "UseValueOf" })
public class MainActivity extends Activity {


private TextView time1;
private TextView time2;
private TextView time3;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


time1 = (TextView) findViewById(R.id.tv_time1);
time2 = (TextView) findViewById(R.id.tv_time2);
time3 = (TextView) findViewById(R.id.tv_time3);


// // String time="1463126553000";
// 获取当前时间


Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1 = formatter.format(currentTime);
time1.setText(date1);
// 获取服务器返回的时间戳 转换成"yyyy-MM-dd HH:mm:ss"
String date2 = formatData("yyyy-MM-dd HH:mm:ss", 1463126553);
time2.setText(date2);


// 计算的时间差
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


try {
Date d1 = df.parse(date1);
Date d2 = df.parse(date2);
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);


time3.setText("" + days + "天" + hours + "小时" + minutes + "分");
} catch (Exception e) {
}


}


public static String formatData(String dataFormat, long timeStamp) {
if (timeStamp == 0) {
return "";
}
timeStamp = timeStamp * 1000;
String result = "";
SimpleDateFormat format = new SimpleDateFormat(dataFormat);
result = format.format(new Date(timeStamp));
return result;
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}




2016-09-29 10:40:52 qq_23934247 阅读数 735
  • 快速入门Android开发 视频 教程 android studio

    这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

    19484 人正在学习 去看看 任苹蜻

今天在做gps获取的时候需要计算时间,要求是获取10次gps,如果超过1分钟的话就提示获取超时。

刚开始想的是用定时器,但后来现在有个更快的方法就可以解决。

那就是在获取gps前获取一下当前系统时间,在获取完gps的时候再获取一下当前系统时间,两个一减,如果超过1分钟就提示超时。

具体做法如下:

long start = System.currentTimeMillis();
			for (int i = 0; i < 10; i++) {

				Location location = GpsUtil.getLocation(activity);

				if (null != location) {

					longitude = location.getLongitude();
					latitude = location.getLatitude();
					loList.add(longitude);
					laList.add(latitude);
					Log.i("tag", location.toString());

				}
			}
			long end = System.currentTimeMillis();
			if (end - start > 10 * 1000) {
				Toast.makeText(activity, "获取GPS超时,请重新获取!", Toast.LENGTH_SHORT);
				return;
			}


2015-04-25 11:45:57 soindy 阅读数 8900
  • 快速入门Android开发 视频 教程 android studio

    这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

    19484 人正在学习 去看看 任苹蜻

原因: 使用 NSDate *date = [NSDate date]; 获取的时间是标注的UTC时间,和北京时间相差8小时.将UTC时间转成当地的时间只需要设置  NSTimeZone *zone = [NSTimeZone systemTimeZone];

1.给NSDate设置时区

    NSDate *date = [NSDate date];

    NSTimeZone *zone = [NSTimeZone systemTimeZone];

    NSInteger interval = [zone secondsFromGMTForDate: date];

    NSDate *localeDate = [date  dateByAddingTimeInterval: interval];

2.给NSDateFormatter设置时区

    NSDateFormatter *formater = [[NSDateFormatter alloc]init];

    [formater setDateFormat:@"yyyyMMdd"];

    [formater setTimeZone:[NSTimeZone localTimeZone]];

    NSDate *date = [formater dateFromString:dateStr];



2015-06-08 10:35:56 yangjianbo456 阅读数 17427
  • 快速入门Android开发 视频 教程 android studio

    这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

    19484 人正在学习 去看看 任苹蜻
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * 俩个时间戳相减
 * 2015年6月8日10:34:15
 * @author cfs
 */
public class testTime {
public static void main(String[] args) throws ParseException {
SimpleDateFormat    formatter    =   new    SimpleDateFormat    ("yyyyMMdd HH:mm:ss");       
Date    curDate    =   new    Date(System.currentTimeMillis());//获取当前时间       
Date parse = formatter.parse("20150608 10:09:18");
long yy = curDate.getTime() - parse.getTime();
System.out.println(yy/1000/60);//相差多少分钟
//yy/1000:相差多少秒
//yy/1000/60:相差多少分钟
//yy/1000/60/60:相差多少小时
//yy/1000/60/60/24:相差多少天
}
}
2019-01-04 14:26:46 Domeansea 阅读数 289
  • 快速入门Android开发 视频 教程 android studio

    这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

    19484 人正在学习 去看看 任苹蜻

这里要说到的是当前的时间戳减去一部分时间,得到过去的时间的问题。然而控制台打印的时间不是减而是加出来的

首先 得相信 计算机是不会骗人的,问题就出在这个数据溢出的问题。程序认为是int字段,此时已经溢出,因此计算的时间结果不对。注意long的数据带个L,不然好像也会被当int来处理(猜的),数据过大的话接着又溢出了

加个L就搞定了哈 莫慌 电脑还是受你控制的

但是对于时间的加减,还是建议使用java.util.Calender

----------------------------------------------------------------------------------

Calendar calendar=Calendar.getInstance();   
   calendar.setTime(new Date()); 
   System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期 
   calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日期加1  
   System.out.println(calendar.get(Calendar.DATE));//加1之后的日期Top 

------------------------------------------------------------------------------------

没有更多推荐了,返回首页