package com.sprucetec.tms.utils;

import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* 时间工具类
*
* Title: TmsTimeUtils.java<br>
* Description: <br
*/
public class TmsTimeUtils { /**
* 根据传入的时间字符串,获得unix对应的时间戳格式
*
* @author liuqiang(liuqang@meicai.cn)
* 2016年3月12日
* @param day
* @return
*/
public static Integer getDayUnixTimeStamp(String day) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date;
try {
date = df.parse(day);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
long timestamp = cal.getTimeInMillis();
return Integer.valueOf((int) (timestamp / 1000));
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
} /**
* 将日期转换为 时间戳
* @author yangweiqiang 2016.12.01
* @param date
* @return
*/
public static Integer getDayUnixTimeStamp(Date date){
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String day = df.format(date);
return getDayUnixTimeStamp(day);
} /**
* 获取当天日期的unix时间戳
*
* @author liuqiang(liuqiang@meicai.cn)
* 2016年3月12日
* @return
*/
public static Integer getTodayUnixTimeStamp() {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String day = df.format(date);
return getDayUnixTimeStamp(day);
} /**
* 获得当前系统时间戳
* @author liuqiang(liuqiang@meicai.cn)
* 2016年3月20日
* @return
*/
public static Integer getNowTimeStamp() {
Integer now = 0;
Long time = System.currentTimeMillis() / 1000;
now = time.intValue();
return now;
} /**
* 描述: 将秒转换为指定格式化的日期
* @author yangweiqiang
* @param timeStamp 秒数
* @param format 格式化 yyyy-MM-dd等
* @date 2016/8/15
*/
public static String getFormatDate(Integer timeStamp,SimpleDateFormat format){
return format.format(new Date(timeStamp * 1000L));
} /**
* 获取某月最大的天数
* @author yangweiqiang
* @param time 日期
* @param format 日期格式化类型
* @date 2016/8/3
* @return 实际最大天数
*/
public static int getMaxDayOfMonth(String time,SimpleDateFormat format){
try {
Date date = format.parse(time);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date); return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
} catch (ParseException e) {
e.printStackTrace();
} return 0;
} /**
* 获取昨天的时间戳
* @return
*/
public static int getPreDayByToday(Integer days){
return getTodayUnixTimeStamp() + 86400 * days;
} /**
* 获取指定天的推迟天时间戳
* @param time
* @param days
* @return
*/
public static int getPreDayBy(Integer time,Integer days){
return time + 86400 * days;
} /**
* 获取指定天的推迟天时间戳
* @param time
* @param days 增加的天数
* @return
*/
public static int getPreDayBy(String time,Integer days){
return getDayUnixTimeStamp(time) + 86400 * days;
} /**
* 根据时间戳获取日期(此日期为几号)
* @param date
* @return
*/
public static int getDayBy(Integer date){
Calendar cal = Calendar.getInstance();
cal.setTime(new Date((long)date * 1000));
return cal.get(Calendar.DAY_OF_MONTH);
} /**
* 获取上个月第一天的Unix时间戳
*/
public static Integer getLastMonthFirstDayUnixTimeStamp() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
Date lastMonthFirstDay = cal.getTime();
return TmsTimeUtils.getDayUnixTimeStamp(lastMonthFirstDay);
} /**
* 获取上个月最后一天的Unix时间戳
*/
public static Integer getLastMonthLastDayUnixTimeStamp() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Date lastMonthLastDay = cal.getTime();
return TmsTimeUtils.getDayUnixTimeStamp(lastMonthLastDay);
} /**
* 获取本月第一天的Unix时间戳
*/
public static Integer getThisMonthFirstDayUnixTimeStamp() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
Date thisMonthFirstDay = cal.getTime();
return TmsTimeUtils.getDayUnixTimeStamp(thisMonthFirstDay);
} public static void main(String[] args) {
// System.out.println(TmsTimeUtils.getDayUnixTimeStamp("2016-03-12"));
// System.out.println(TmsTimeUtils.getTodayUnixTimeStamp());
System.out.println(getLastMonthFirstDayUnixTimeStamp());
System.out.println(getLastMonthLastDayUnixTimeStamp());
System.out.println(getThisMonthFirstDayUnixTimeStamp());
}
}

TmsTimeUtils 时间戳的更多相关文章

  1. C# DateTime与时间戳转换

    C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的区别: JavaScript时间戳: ...

  2. nodejs中获取时间戳、时间差

    Nodejs中获取时间戳的方法有很多种,例如: new Date().getTime() Date.now() process.uptime() process.hrtime() 平时想获取一个时间戳 ...

  3. EF里Guid类型数据的自增长、时间戳和复杂类型的用法

    通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西.文章的开头提示下:提供的demo为了后面演示效果,前面代码有些 ...

  4. fmt标签把时间戳格式化日期

    jsp页面标签格式化日期 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f" %> ...

  5. MySQL对时间戳的转换处理

    开发中很多时候在数据库里都会存储Long类型的时间戳,而时间戳做比对会相对麻烦 我的绝决方案: SELECT FROM_UNIXTIME(LEFT(create_time,10), '%Y-%m-%d ...

  6. Kafka消息时间戳(kafka message timestamp)

    最近碰到了消息时间戳的问题,于是花了一些功夫研究了一下,特此记录一下.   Kafka消息的时间戳 在消息中增加了一个时间戳字段和时间戳类型.目前支持的时间戳类型有两种: CreateTime 和 L ...

  7. Python时间戳和日期的相互转换

    Python时间戳和日期的相互转换 (2014-03-17 11:24:35) 转载▼   分类: Python 当前时间戳:time.time() 当前日期:time.ctime() 1.Pytho ...

  8. 时间戳TimeStamp处理

     我获得这个时间戳是得想除以1000再处理的,看看你们的需要先除多少再处理 //时间戳处理 NSInteger time = timeStamp / 1000; NSNumber *timer = [ ...

  9. C#中DateTime.Ticks属性及Unix时间戳转换

    1.相关概念 DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒). ...

随机推荐

  1. 使用Hadoop API 解压缩 HDFS文件

    接上篇:使用Hadoop API 压缩HDFS文件 压缩完了,当然需要解压缩了. 直接上代码: private static void getFile(String filePath) throws ...

  2. 2018.12.14 codeforces 932E. Team Work(组合数学)

    传送门 组合数学套路题. 要求ans=∑i=0nCni∗ik,n≤1e9,k≤5000ans=\sum_{i=0}^n C_n^i*i^k,n\le 1e9,k\le 5000ans=∑i=0n​Cn ...

  3. yii2 控制器渲染

    render() : 渲染一个 视图名并使用一个 布局返回到渲染结果. renderPartial() : 渲染一个 视图名并且不使用布局. renderAjax() : 渲染一个 视图名并且不使用布 ...

  4. C#并发集合(转)

    出处:https://www.cnblogs.com/Leo_wl/p/6262749.html?utm_source=itdadao&utm_medium=referral 并发集合 1 为 ...

  5. react创建项目报错unexpected end of json while parsing near xxx

    报这个错,执行下面的命令,然后重新创建项目就可以. npm cache clean --force

  6. windows、linux下通过ftp上传文件小脚本

    一.windows @echo off #open ip 将要上传文件的IP地址echo open IP>ftp.up #用户名echo ninic>>ftp.up #密码echo ...

  7. .Net 导出Excel时设置单元格的格式为文本类型

    <td style= 'vnd.ms-excel.numberformat:@ ' align='right'>" & Format(Val(rowTitle.Item( ...

  8. php输出语句

    看不懂? 抄一遍代码吧. echo 和 print 在 PHP 中有两个基本的输出方式: echo 和 print echo 和 print 区别: echo - 可以输出一个或多个字符串 print ...

  9. 比较jquery中的after(),append(),appendTo()方法

    html页面: <p id="myp1">我的兴趣爱好是:</p> <button id="b1">after函数</ ...

  10. event based xml parser (SAX) demo

    import java.io.ByteArrayInputStream; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SA ...