scala 时间,时间格式转换
scala 时间,时间格式转换
- 1.scala 时间格式转换(String、Long、Date)
- 1.1时间字符类型转Date类型
- 1.2Long类型转字符类型
- 1.3时间字符类型转Long类型
- 2.scala 时间和时间戳互转
- 2.1时间转换为时间戳
- 2.2时间戳转化为时间
- 2.3将时间戳转化成日期
- 3.获取今天日期,昨天日期,本周时间,本月时间,时间戳转换日期时间比较计算时间差
- 3.1获取今天日期
- 3.2获取昨天的日期
- 3.3获取本周开始日期
- 3.4获取本周末的时间
- 3.5本月的第一天
- 3.6本月的最后一天
- 4.计算时间差
- 5.Scala日期处理
- 5.1计算时间间隔
- 5.2产生日期序列
import java.time.LocalDateobject fileTest {def main(args: Array[String]) {var nowdate = LocalDate.now()println("LocalDate.now()-->现在的时间是"+LocalDate.now())println("nowdate.plusDays-->明天是-->"+nowdate.plusDays(1))println("nowdate.minusDays-->昨天是-->"+nowdate.minusDays(1))println("nowdate.plusMonths-->今天加一个月-->"+nowdate.plusMonths(1))println("nowdate.minusMonths-->今天减一个月-->"+nowdate.minusMonths(1))println("nowdate.getDayOfYear-->今天是今年的第"+nowdate.getDayOfYear+"天")println("nowdate.getDayOfMonth->这个月有"+nowdate.getDayOfMonth+"天")println("nowdate.getDayOfWeek-->今天星期"+nowdate.getDayOfWeek)println("nowdate.getMonth-->这个月是"+nowdate.getMonth)}
}
1.scala 时间格式转换(String、Long、Date)
1.1时间字符类型转Date类型
import java.text.SimpleDateFormat
val time = "2017-12-18 00:01:56"
val newtime :Date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time)
println(newtime)
1.2Long类型转字符类型
val time:Long= 1513839667//秒
val newtime :String = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time*1000)
println(newtime)
1.3时间字符类型转Long类型
val time = "2017-12-18 00:01:56"
val newtime :Long= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time).getTime
println(newtime)
2.scala 时间和时间戳互转
2.1时间转换为时间戳
import java.text.SimpleDateFormat
object test {def main(args: Array[String]): Unit = {val tm = "2017-08-01 16:44:32"val a = tranTimeToLong(tm)println(a) }def tranTimeToLong(tm:String) :Long={val fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")val dt = fm.parse(tm)val aa = fm.format(dt)val tim: Long = dt.getTime()tim}
}
2.2时间戳转化为时间
import java.text.SimpleDateFormat
import java.util.Dateobject test {def main(args: Array[String]): Unit = {val tm = "1502036122000"val a = tranTimeToString(tm)println(a)}def tranTimeToString(tm:String) :String={val fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")val tim = fm.format(new Date(tm.toLong))tim}
}
def timeFormat(time:String):String={var sdf:SimpleDateFormat = new SimpleDateFormat("HH:mm:ss")var date:String = sdf.format(new Date((time.toLong*1000l)))date}
2.3将时间戳转化成日期
时间戳是秒数,需要乘以1000l转化成毫秒
def DateFormat(time:String):String={var sdf:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")var date:String = sdf.format(new Date((time.toLong*1000l)))date}
3.获取今天日期,昨天日期,本周时间,本月时间,时间戳转换日期时间比较计算时间差
3.1获取今天日期
def getNowDate():String={var now:Date = new Date()var dateFormat:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")var hehe = dateFormat.format( now )hehe}
3.2获取昨天的日期
def getYesterday():String={var dateFormat:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")var cal:Calendar=Calendar.getInstance()cal.add(Calendar.DATE,-1)var yesterday=dateFormat.format(cal.getTime())yesterday
3.3获取本周开始日期
def getNowWeekStart():String={var period:String=""var cal:Calendar =Calendar.getInstance();var df:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY)//获取本周一的日期period=df.format(cal.getTime())period}
3.4获取本周末的时间
def getNowWeekEnd():String={var period:String=""var cal:Calendar =Calendar.getInstance();var df:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);//这种输出的是上个星期周日的日期,因为老外把周日当成第一天cal.add(Calendar.WEEK_OF_YEAR, 1)// 增加一个星期,才是我们中国人的本周日的日期period=df.format(cal.getTime())period}
3.5本月的第一天
def getNowMonthStart():String={var period:String=""var cal:Calendar =Calendar.getInstance();var df:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");cal.set(Calendar.DATE, 1)period=df.format(cal.getTime())//本月第一天period}
3.6本月的最后一天
def getNowMonthEnd():String={var period:String=""var cal:Calendar =Calendar.getInstance();var df:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");cal.set(Calendar.DATE, 1)cal.roll(Calendar.DATE,-1)period=df.format(cal.getTime())//本月最后一天period}
4.计算时间差
//核心工作时间,迟到早退等的的处理def getCoreTime(start_time:String,end_Time:String)={var df:SimpleDateFormat=new SimpleDateFormat("HH:mm:ss")var begin:Date=df.parse(start_time)var end:Date = df.parse(end_Time)var between:Long=(end.getTime()-begin.getTime())/1000//转化成秒var hour:Float=between.toFloat/3600var decf:DecimalFormat=new DecimalFormat("#.00")decf.format(hour)//格式化}
5.Scala日期处理
5.1计算时间间隔
val d = new java.text.SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new java.util.Date())val dateFormat = new java.text.SimpleDateFormat("yyyyMMdd HH:mm:ss")// 系统时间val d1 = new java.util.Date()val nowDate: String = dateFormat.format(d1)// 输入指定时间val dd: Date = dateFormat.parse("20161229 14:20:50")// 时间差val d3 = new java.util.Date()val d4 = new java.util.Date()val diff = d4.getTime - d3.getTime // 返回自此Date对象表示的1970年1月1日,00:00:00 GMT以来的毫秒数。val diffMinutes = diff / (1000 * 60) // 时间间隔,单位:分钟
5.2产生日期序列
import java.util.Calendarimport java.util.Dateimport java.text.SimpleDateFormatimport scala.collection.mutable.ListBuffer// 输入开始日期和结束日期val stringDateBegin: String = "20160101"val stringDateEnd: String = "20160209"val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyyMMdd")val dateBegin: Date = dateFormat.parse(stringDateBegin)val dateEnd: Date = dateFormat.parse(stringDateEnd)val calendarBegin: Calendar = Calendar.getInstance()val calendarEnd: Calendar = Calendar.getInstance()calendarBegin.setTime(dateBegin)calendarEnd.setTime(dateEnd)// 计算日期间隔天数val diff = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis()val diffDay = (diff / (1000 * 60 * 60 * 24)).toIntval calendarList = new ListBuffer[String]()for (d <- 0 to diffDay) {// 日期转化成"yyyyMMdd"calendarList.append(dateFormat.format(calendarBegin.getTime()))calendarBegin.add(Calendar.DAY_OF_MONTH, 1)}calendarList.mkString(",")
执行结果:
// 输入开始日期和结束日期
val stringDateBegin: String = "20160101"
stringDateBegin: String = 20160101val stringDateEnd: String = "20160209"
stringDateEnd: String = 20160209val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyyMMdd")
dateFormat: java.text.SimpleDateFormat = java.text.SimpleDateFormat@ef87e460val dateBegin: Date = dateFormat.parse(stringDateBegin)
dateBegin: java.util.Date = Fri Jan 01 00:00:00 UTC 2016val dateEnd: Date = dateFormat.parse(stringDateEnd)
dateEnd: java.util.Date = Tue Feb 09 00:00:00 UTC 2016val calendarBegin: Calendar = Calendar.getInstance()
calendarBegin: java.util.Calendar = java.util.GregorianCalendar[time=1480484154627,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Etc/Universal",offse
t=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2016,MONTH=10,WEEK_OF_YEAR=49,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=335,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=5,HOUR_OF_DAY=5,MINUTE=35,SECOND=54,MILLISECOND=627,ZONE_OFFSET=0,DST_OFFSET=0]val calendarEnd: Calendar = Calendar.getInstance()
calendarEnd: java.util.Calendar = java.util.GregorianCalendar[time=1480484154845,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Etc/Universal",offset=
0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2016,MONTH=10,WEEK_OF_YEAR=49,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=335,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=5,HOUR_OF_DAY=5,MINUTE=35,SECOND=54,MILLISECOND=845,ZONE_OFFSET=0,DST_OFFSET=0]calendarBegin.setTime(dateBegin)
calendarEnd.setTime(dateEnd)// 计算日期间隔天数
val diff = calendarEnd.getTimeInMillis() - calendarBegin.getTimeInMillis()
diff: Long = 3369600000val diffDay = (diff / (1000 * 60 * 60 * 24)).toInt
diffDay: Int = 39val calendarList = new ListBuffer[String]()
calendarList: scala.collection.mutable.ListBuffer[String] = ListBuffer()for (d <- 0 to diffDay) {// 日期转化成"yyyyMMdd"calendarList.append(dateFormat.format(calendarBegin.getTime()))calendarBegin.add(Calendar.DAY_OF_MONTH, 1)}calendarList.mkString(",")
res12: String = 20160101,20160102,20160103,20160104,20160105,20160106,20160107,20160108,20160109,20160110,20160111,20160112,20160113,20160114,20160115,20160116,20160117,20160118,20160119,2016
0120,20160121,20160122,20160123,20160124,20160125,20160126,20160127,20160128,20160129,20160130,20160131,20160201,20160202,20160203,20160204,20160205,20160206,20160207,20160208,20160209
scala 时间,时间格式转换相关推荐
- POJ3751 时间日期格式转换【日期计算】
时间日期格式转换 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8306 Accepted: 3829 Descript ...
- python日期格式转换_python中有关时间日期格式转换问题
每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数.... 1.字符串转化为日期 str->date import datetime date_str ...
- NUC1421 时间日期格式转换【日期计算】
时间日期格式转换 时间限制: 1000ms 内存限制: 65535KB 通过次数: 1总提交次数: 1 问题描述 世界各地有多种格式来表示日期和时间.对于日期的常用格式,在中国常采用格式的是" ...
- 字符串与时间的格式转换
字符串与时间的格式转换 这里可以使用hutool的DateUtil进行转换,支持多种格式的时间进行转换 import cn.hutool.core.date.DateTime; import cn.h ...
- stata:时间变量格式转换
stata:时间变量格式转换 时间序列是经济金融类研究最常用的数据类型,时间变量的转换和设定一般是初学者最为头大的问题,本文在这里详尽的展示有关时间变量处理.转换以及格式设定的相关问题,话不多说直奔主 ...
- 时间日期格式转换_JAVA
Description 对于日期的常用格式,在中国常采用格式的是"年年年年/月月/日日"或写为英语缩略表示的"yyyy/mm/dd",此次编程竞赛的启动日期&q ...
- Java时间日期格式转换
突然忘记了时间格式怎么转换,特此做个记录 Java时间格式转换大全import java.text.*; import java.util.Calendar; public class VeDate ...
- java转日期_Java时间日期格式转换
import java.util.*;import java.text.*;importjava.util.Calendar;public classVeDate {/*** 获取现在时间 * *@r ...
- 原生html5时间组件,JFinal遇到了原生Html5时间组件格式转换问题怎么处理?
今天JBolt种子用户群里有人提问,JFinal针对原生Html5的日期时间选择组件的格式转换支持有问题,报错. 于是我在JBolt的Demo中加入了这些去测试一下,这里使用的都是原生Html组件. ...
- java时间格式转换_Java时间日期格式转换
突然忘记了时间格式怎么转换,特此做个记录 Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate ...
最新文章
- Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a cl
- 【Harvest源码分析】NuttallWindow
- 春运渡劫?Python帮你12306抢回家的火车票
- 500元辛苦费,求一C#算法,自由定义表达式
- 说话不能太绝对,要留有余地
- 永乐XIANDAI 08
- Java模块化方法–模块,模块,模块
- 清理SYSAUX表空间
- [react] 和Component两者的区别是什么
- c++网吧计费系统_云游戏火了,中国14万家网吧走向何处?
- 基于JAVA+Spring+MYSQL的物流运输管理系统
- 【VS2010学习笔记】【类型转换】整形转换为CString类型
- linux 网卡爽ip,linux服务器双网卡爽IP实现双线
- 松原计算机等级考试试题,2019年上半年吉林省松原市计算机等级考试注意事项...
- java给txt文件写入内容_java代码 如何向TXT文件写入内容?
- ORACLE统计报表
- 如何自己制作装机工具装系统,硬装系统
- 易语言数据库读取相关数据
- linux-c之函数(函数指针、函数传参、命令行参数)
- freemarker 遍历 map
热门文章
- 股票量化分析工具QTYX使用攻略——快速选出强势股(更新2.6.0)
- su user oracle does not exist,【案例】Linux文件系统无法mount 由superblock损坏导致
- 莫言诺贝尔获奖词——看莫言对中国的描述方式
- mysql新建分区设置阈值(less than)引发的问题
- RAID 0/ 1/ 5/ 10./ JBOD是什么模式?什么意思?
- MATLAB画阿基米德螺旋线
- Android下USB Accessory的实现分析 (一)--- AOA背景介绍
- CCF CSP 202209-4 吉祥物投票【并查集+Set维护段】
- EXCEL实现聚光灯效果
- html 如何制作翻牌效果,CSS3实现翻牌旋转效果