Android 获取当天零点的毫秒值并将时间格式化

转载请注明出处,谢谢~~

这是一篇工具类博客,用于获取当天的零点时间,并将时间格式化为标准形式。

获取零点时间有两种方式:

public static long getTodayZero() {
        Date date = new Date();
        Calendar cal = Calendar.getInstance();
        cal.setTimeZone(TimeZone.getTimeZone("UTC+8"));
        cal.setTime(date);
        cal.set(Calendar.HOUR, 0);
        cal.set(Calendar.SECOND, 1);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.MILLISECOND, 0);
        System.out.println("today zero : " + cal.getTimeInMillis());
        return cal.getTimeInMillis();
}

我一直不喜欢用这种方式,因为在不同的手机上,我测试有bug,可能是我写的有点问题,欢迎大家告诉我。我加上了UTC+8的时区,居然得到的还是UTC+0时区的时间,令我很费解。

所以我一直用这种方式:

public static long getTodayZero() {
    Date date = new Date();
    long l = 24*60*60*1000; //每天的毫秒数
    //date.getTime()是现在的毫秒数,它 减去 当天零点到现在的毫秒数( 现在的毫秒数%一天总的毫秒数,取余。),理论上等于零点的毫秒数,不过这个毫秒数是UTC+0时区的。
    //减8个小时的毫秒值是为了解决时区的问题。
    return (date.getTime() - (date.getTime()%l) - 8* 60 * 60 *1000);
}

代码简洁而且方便。

然后格式化一下时间:

@SuppressLint("SimpleDateFormat")
    public static String getTime(long time) {
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d1=new Date(time);
        return format.format(d1);
    }

得到的就是 例如今天 : 2105-4-1 00:00:00

时间: 2024-10-09 19:59:01

Android 获取当天零点的毫秒值并将时间格式化的相关文章

JavaScript基础 Date(num) num为毫秒值 创建一个时间对象

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

Android获取设备屏幕宽高像素值的两个方法

private void get1() { Resources resources = this.getResources(); DisplayMetrics dm = resources.getDisplayMetrics(); int width = dm.widthPixels; int height = dm.heightPixels; Log.d("方法1", width + " , " + height); } private void get2() {

获取一天开始和结束时间的毫秒值

<!DOCTYPE html ><html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>一天开始和结束毫秒值</title></head> <body><button id="showBtn">click</but

Android获取文件的MD5值

package my.bag; import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.os.Bundle; import androi

C#:获取当前时间的总毫秒值(类似于Java中:System.currentTimeMillis() )

转换: 1 second(s)=1000 millisecond(ms)=10 x 100 0000 one ten-millionth of a second (Ticks) DateTime.Now.Ticks / 10000 即为当前时间的总毫秒值 1 秒间隔的判断 if (DateTime.Now.Ticks / 10000 - _lastCmdTime_ms >= 1000) { }

【Android】Android布局文件的一些属性值

第一类:属性值 true或者 false android:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素完全居中android:layout_alignParentBottom 贴紧父元素的下边缘android:layout_alignParentLeft 贴紧父元素的左边缘android:layout_alignParentRight 贴紧父元素的

android 获取http请求json数据

package com.my.gethttpjsondata; import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import jav

Android获取手机联系人的姓名和电话

Android获取手机联系人的姓名和电话 主要是用到了跳入手机联系人的intent和获取手机联系人信息的内容提供者,直接上代码 注:此贴是借鉴别人的帖子加了一些自己的东西写出的,原帖地址明日附上: / 首先 我们需要跳入手机通讯录 Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent, 0); // 之后,我们需要重写

Android获取百度音乐的音乐下载地址和歌词下载连接

首先通过你要下载的歌曲通过下列连接: http://box.zhangmen.baidu.com/x?op=12&count=1&title={title}$${author}$$$$ 可以获取一个xml文件通过解析xml文件就可以读取到音乐下载的地址和歌词下载的地址. 部分代码: String title = "六月的雨"; String singer = "胡歌"; String url = "http://box.zhangmen.b