时间戳:2022-11-30 12:00:00.0,时间戳的getTime方法得到的一个long类型用来计算

yyyy-MM-dd HH:mm:ss  HH大写时为24小时,hh小写时为12小时

文章目录

前言

一、java中对时间的处理

1.获取当前时间:

2.对数据库中查到的时间(String类型)转化并进行比较:

3.对时间(String类型)进行运算:

二、数据库中对时间的处理

1.查看昨天是星期几


前言

在写打卡的业务时,经常碰到时间戳与时间,日期与时间之间的转换以及计算,所以写一篇文章记录一下,它们之间如何转换,方便以后查阅。

一、java中对时间的处理

1.获取当前时间:

通过Time包下的LocalDate获取年月日

LocalDate localDate = LocalDate.now();//当前的日期时间int year=localDate.getYear();// 2022 int month=localDate.getMonthValue();// 11int day=localDate.getDayOfMonth();// 30int week = localDate.getDayOfWeek().getValue();//当前星期几:1,2,3,4,5,6,7

通过Util包中的Date获取

Date date = new Date();//根据时间格式设置拿到想要的时间格式
SimpleDateFormat format1= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat format3= new SimpleDateFormat("HH:mm:ss");format1.format(date);//当前时间,格式为:yyyy-MM-dd HH:mm:ss
format2.format(date);//当前时间,格式为:yyyy-MM-dd
format3.format(date);//当前时间,格式为:HH:mm:ss

通过Util包的Calendar 获取时间,分别获取年月日时分秒

Calendar cal=Calendar.getInstance();
int y=cal.get(Calendar.YEAR);
int m=cal.get(Calendar.MONTH);
int d=cal.get(Calendar.DATE);
int h=cal.get(Calendar.HOUR_OF_DAY);
int mi=cal.get(Calendar.MINUTE);
int s=cal.get(Calendar.SECOND);//当前星期几:星期日为1,星期一为2...; 为了与数据库对应整体减一,星期天为0,其他正常
int settingWeek = Calendar.getInstance().get(Calendar.DAY_OF_WEEK) - 1; 

2.对数据库中查到的时间(String类型)转化并进行比较:

这里定义一个变量temp(yyyy-MM-dd),用来表示日期时间的前缀(当前时间-->2022-11-30),方便下面字符串的拼接使用


String temp=localDate.getYear() + "-" + localDate.getMonthValue() + "-" + localDate.getDayOfMonth() + " ";//获取当前时间组合成字符串"yyyy-MM-dd"/*或使用Calendar
String temp=Calendar.getInstance().get(Calendar.YEAR) + "-" + Calendar.getInstance().get(Calendar.MONTH) + "-" + Calendar.getInstance().get(Calendar.DATE) + " ";*/

String类型的“yyyy-MM-dd HH:mm:ss”时间转化为“HH:mm:ss”

String time = "2022-11-30 12:00:00";//格式化时间
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");//日期时间"2022-11-30 12:00:00"转化为时间戳2022-11-30 12:00:00.0
Timestamp timestamp = Timestamp.valueOf(time);String s = sdf.format(new Date(timestamp.getTime()));//HH:mm:ss 12:00:00

String类型的“HH:mm:ss”时间转化为“yyyy-MM-dd HH:mm:ss”(用另一种方式)

String time = "12:00:00";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date d=sdf.parse(temp+time)//结果为Date类型 Thu Jan 01 12:00:00 CST 1970String s = sdf.format(sdf.format(d));//2022-11-16 12:00:00

3.对时间(String类型)进行运算:

先将不同类型统一转化成String类型(转化过程参考上面),然后再转化成格式为yyyy-MM-dd HH:mm:ss:s的时间戳进行运算

String time1 = "2022-11-30 12:00:00";
String time2 = "2022-11-30 13:00:00";
/**
* 日期时间"2022-11-30 12:00:00"转化为时间戳2022-11-16 12:00:00.0
*/
Timestamp timestamp1 = Timestamp.valueOf(time1);
Timestamp timestamp2 = Timestamp.valueOf(time2);
//用得到long类型的值进行计算
long l1 = timestamp1.getTime();
long l2 = timestamp2.getTime();
(l1-l2) / (1000 * 60);// 输出 60 (分钟)

二、数据库中对时间的处理

1.查看昨天是星期几

代码如下(示例):

DayOfWeek()的得到当天的星期:星期天为1,星期一为2......;减一后星期天为0,其他对应星期几就为多少(星期一为1,星期二为2......)

select *
from setting
where setting_week = DayOfWeek(date_sub(now(), interval 1 day)) - 1

2.查看用户当天的所有记录

select *
from punch
where TO_DAYS(punch_time) = TO_DAYS(now())
and punch_user_id = #{userId}

时间戳与日期时间的转换相关推荐

  1. Python中timestamp时间戳和日期时间的转换

    文章目录 将timestamp转换为时间 将时间转换为timestamp 总结 附录 将timestamp转换为时间 我们可以用time模块获取当前的时间戳 >>> import t ...

  2. ios时间戳和日期的一些转换,如具体时间,年龄,星座等等

    1. ///将时间戳转为日期时间/// @param timestamp 时间戳/// @param dateFormat 日期样式 YYYY-MM-dd HH:mm:ss+ (NSString *) ...

  3. mysql13位的时间戳怎么转化_MySQL时间函数 | 时间戳和日期之间得转换

    首页 专栏 mysql 文章详情 0 MySQL时间函数 | 时间戳和日期之间得转换 阿壮Jonsson 发布于 2 月 6 日 一.时间戳转日期 select FROM_UNIXTIME(16060 ...

  4. php date hi,php中时间戳和日期格式的转换

    原文:php中时间戳和日期格式的转换 一,PHP时间戳函数获取指定日期的unix时间戳 strtotime("2009-1-22″) 示例如下: echo strtotime("2 ...

  5. js 时间戳与日期时间的相互转换

    js 时间戳与日期时间的相互转换 时间戳:指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数. 1.获取时间戳 1)获取当前时 ...

  6. 将10位或13位时间戳转换为日期+时间--yyyy-MM-dd HH:mm:ss

    将10位或13位时间戳转换为日期+时间–yyyy-MM-dd HH:mm:ss public static void main(String[] args) {// 10位 秒时间戳 转换String ...

  7. 语言 全排列 函数_Power Query 中日期时间格式转换需要了解的区域语言对照表

    不同的国家有不同的日期时间书写格式,比如: 多数亚洲国家:yyyy-MM-dd hh:mm 有些欧洲国家:dd.MM.yyyy HH:mm 极少数的国家:MM/dd/yyyy h:mm tt 还有各种 ...

  8. android 日期时间类,Android 日期时间等转换工具类

    package com.easyder.util; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期时间等转换工具类 ...

  9. java datetime 转换_如何实现Java日期时间格式转换

    Java日期时间以及日期相互转换 Java日期时间,以及相互转化,供大家参考,具体内容如下 package com.study.string; import java.text.ParseExcept ...

最新文章

  1. Memcached在Asp.net下的应用
  2. ajax配置要求,AJAX浅谈
  3. C++标准转换运算符:dynamic_cast
  4. php Output Control 深入理解 ob_flush 和 flush 的区别
  5. 5ecsgo正在发送客户端_MQTT X 桌面客户端使用指南
  6. unix文件中i节点
  7. android手机空间占用,安卓手机清理数据八种方法教程,解决占用手机空间的烦恼!...
  8. 高效使用Chrome搜索精准内容
  9. 关于硬件批量贴片焊接流程
  10. 关于memset函数和赋值0x3f,2021-5-5
  11. 专辑名称:极品汽车发烧音乐精选-音乐宝典18CD(金碟收藏版)
  12. gmail注册方法_如何在Gmail中释放空间:5种回收空间的方法
  13. web开发浏览器缓存问题之Google浏览器缓存清理
  14. iOS---学习研究大牛Git高星项目YYCategories(四)
  15. DAC0832转换器
  16. Python Day22
  17. Linux 磁盘坏块修复处理(错误:read error: Input/output error)
  18. Python编码,解码问题
  19. 三维激光扫描技术在工程领域中的应用
  20. 教你用晨曦记账本记录收支的方法

热门文章

  1. 01-Empire-Lupin-One vulnhub靶场(ssh2john)
  2. Linux如何查看当前Ubuntu系统的版本
  3. php socket 介绍
  4. 创客匠人教您实现流量变现
  5. 中国象棋棋盘java_如何用java swing 实现中国象棋的棋盘。棋盘就好。。。
  6. FMX和VCL混用时RegisterClass无法GetClass或FindClass的问题
  7. spark 客户端工具_星火应用商店 Spark-Store
  8. 转战 GithubPages
  9. easy-mock 官网,最新网址!
  10. Security+认证实用问题手册