Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
时间:2022-07-25
本文章向大家介绍Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
获取当前日期、时间、星期几、指定格式的日期时间、时间戳包含使用示例
使用示例
tvDate.setText(DateUtil.getNowDate());//获取当前日期
tvTime.setText(DateUtil.getNowTime());//获取当前时间
tvWeek.setText(DateUtil.getWeekOfDate(new Date()));//获取今天是星期几
tvNowDateTime.setText(DateUtil.getNowDateTime());获取当前完整的日期和时间
tvNowTimeDetail.setText(DateUtil.getNowTimeDetail());//获取当前完整的日期和时间包含毫秒
只要修改前面的控件就可以了,我是用的TextView,修改即可。
工具类代码
代码如下,复制粘贴改包名即可使用,
package com.llw.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtil {
//获取当前完整的日期和时间
public static String getNowDateTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(new Date());
}
//获取当前日期
public static String getNowDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Date());
}
//前一天
public static String getYesterday(Date date) {
String tomorrow = "";
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(calendar.DATE, -1);
date = calendar.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
tomorrow = formatter.format(date);
return tomorrow;
}
//后一天
public static String getTomorrow(Date date) {
String tomorrow = "";
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(calendar.DATE, +1);
date = calendar.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
tomorrow = formatter.format(date);
return tomorrow;
}
//获取当前时间
public static String getNowTime() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(new Date());
}
//获取当前日期(精确到毫秒)
public static String getNowTimeDetail() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS");
return sdf.format(new Date());
}
//获取今天是星期几
public static String getWeekOfDate(Date date) {
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0)
w = 0;
return weekDays[w];
}
//计算星期几
private static int getDayOfWeek(String dateTime) {
Calendar cal = Calendar.getInstance();
if (dateTime.equals("")) {
cal.setTime(new Date(System.currentTimeMillis()));
} else {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
Date date;
try {
date = sdf.parse(dateTime);
} catch (ParseException e) {
date = null;
e.printStackTrace();
}
if (date != null) {
cal.setTime(new Date(date.getTime()));
}
}
return cal.get(Calendar.DAY_OF_WEEK);
}
//根据年月日计算是星期几并与当前日期判断 非昨天、今天、明天 则以星期显示
public static String Week(String dateTime) {
String week = "";
String yesterday = "";
String today = "";
String tomorrow = "";
yesterday = getYesterday(new Date());
today = getNowDate();
tomorrow = getTomorrow(new Date());
if (dateTime.equals(yesterday)) {
week = "昨天";
} else if (dateTime.equals(today)) {
week = "今天";
} else if (dateTime.equals(tomorrow)) {
week = "明天";
} else {
switch (getDayOfWeek(dateTime)) {
case 1:
week = "星期日";
break;
case 2:
week = "星期一";
break;
case 3:
week = "星期二";
break;
case 4:
week = "星期三";
break;
case 5:
week = "星期四";
break;
case 6:
week = "星期五";
break;
case 7:
week = "星期六";
break;
}
}
return week;
}
//将时间戳转化为对应的时间(10位或者13位都可以)
public static String formatTime(long time) {
String times = null;
if (String.valueOf(time).length() > 10) {// 10位的秒级别的时间戳
times = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time * 1000));
} else {// 13位的秒级别的时间戳
times = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time);
}
return times;
}
//将时间字符串转为时间戳字符串
public static String getStringTimestamp(String time) {
String timestamp = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Long longTime = sdf.parse(time).getTime() / 1000;
timestamp = Long.toString(longTime);
} catch (ParseException e) {
e.printStackTrace();
}
return timestamp;
}
}
日期时间格式的定义说明
日期时间格式 |
格式说明 |
---|---|
小写的yyyy |
表示4位年份数字,如2010、2020等 |
大写的MM |
表示两位月份数字,如01表示一月份,12表示12月份 |
小写的dd |
表示两位日期数字,如09表示当月9号,26表示当月26号 |
大写的HH |
表示24小时制的两位小时数字,如22表示晚上10点 |
小写的hh |
表示12小时制的两位小时数字,如06可同时表示早上6点与傍晚6点,容易产生歧义所以实际开发中很少用 |
小写的mm |
表示两位分钟数字,如45表示某点45分 |
小写的ss |
表示两位秒钟数字 |
大写的SSS |
表示三位毫秒数字 |
时间格式内部其余的横线“-”、空格“ ”、冒号“:”、点号“.”等字符仅仅是连接符,方便观看各种单位的时间数字而已,国内,也可以使用形如“yyyy年dd日HHmm分ss秒”的时间格式。
希望能帮到您,山高水长,后会有期~
- ActiveMQ笔记(7):如何清理无效的延时消息?
- JS魔法堂:再识Bitwise Operation & Bitwise Shift
- Hadoop(十三)分析MapReduce程序
- mac机上搭建php56/nginx 1.8.x/thinkphp 3.2.x/gearman扩展/seaslog扩展/redis扩展环境
- 基础野:细说无符号整数
- Ubuntu12.04安装QQ for Linux
- 树莓派:最好的安排
- idea 高级调试技巧
- JS魔法堂:彻底理解0.1 + 0.2 === 0.30000000000000004的背后
- mybatis: 利用多数据源实现分库存储
- 树莓派:文本编辑器与文件
- Java常用类(三)之StringBuffer与StringBuidler
- 使用监听器:定时清除map缓存
- 树莓派:光阴的故事
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- python3.x中安装web.py步骤方法
- pytorch 网络参数 weight bias 初始化详解
- PHP中单例模式的使用场景与使用方法讲解
- pytorch查看模型weight与grad方式
- php+ajax 文件上传代码实例
- PHP将整数数字转换为罗马数字实例分享
- PHP如何通过表单直接提交大文件详解
- PHP基于openssl实现的非对称加密操作示例
- python图片验证码识别最新模块muggle_ocr的示例代码
- virtualenv介绍及简明教程
- Keras 数据增强ImageDataGenerator多输入多输出实例
- TensorFlow中如何确定张量的形状实例
- 使用Dajngo 通过代码添加xadmin用户和权限(组)
- python和js交互调用的方法
- Python中flatten( ),matrix.A用法说明