scala时间戳转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala时间戳转换相关的知识,希望对你有一定的参考价值。

def getNowWeekStart():String=
var period:String=""
var cal:Calendar =Calendar.getInstance()
var df:SimpleDateFormat = new SimpleDateFormat("yyyyMMdd")
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY)
period=df.format(cal.getTime())
period

小白懵懂,抱拳求解释,
1、上面这段代码是取当前周的周一,但每行的含义及作用不太明白,
2、如果我要取前一周、下一周的周一怎么修改,
3、代码里的时间点是哪个,如果想自定义任意一个时间,需要怎么修改,

参考技术A
import java.text.SimpleDateFormat 
import java.util.Calendar 
import java.util.Locale 
object Test 
   def main(args:Array[String])=      
      var cal:Calendar =Calendar.getInstance()
      //拨回昨天周日,因为今天本来就周一不好区分,可删下行
      cal.add(Calendar.DAY_OF_MONTH, -1)
      var df:SimpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日,EEE",Locale.CHINA)
      Console.println("今天:"+df.format(cal.getTime))
      cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY)
      //Java日历默认以周日为星期第1天,周一为第2天,可调
      Console.println("本周一:"+df.format(cal.getTime))
      cal.add(Calendar.DAY_OF_MONTH, -7)//退1周
      Console.println("上周一:"+df.format(cal.getTime))
      cal.add(Calendar.DAY_OF_MONTH, 7*2)//进2周
      Console.println("下周一:"+df.format(cal.getTime))         
      

今天:2018年11月11日,星期日
本周一:2018年11月12日,星期一
上周一:2018年11月05日,星期一
下周一:2018年11月19日,星期一

属于历法,用日历写了一下

追问

如果当前时间是自定义的任意一个时间点,该怎么写

追答 var cal:Calendar =Calendar.getInstance(Locale.CHINA)
      //设任一时间,2000年1月2日,3点4分5秒
      cal.set(2000, 0, 2, 3, 4, 5) //月份0为1月   
      //或只设日期
      //cal.set(2000, 0, 2)
      var df:SimpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日,HH:mm:ss, EEE")
      Console.println("今天:"+df.format(cal.getTime))
      //后同

今天:2000年01月02日,03:04:05, 星期日
本周一:2000年01月03日,03:04:05, 星期一
上周一:1999年12月27日,03:04:05, 星期一
下周一:2000年01月10日,03:04:05, 星期一

本回答被提问者和网友采纳
参考技术B

使用新的Date/Time API,不要 使用Calendar了。

参考技术C import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; public class ConvertDemo /** * 日期转换成Java字符串 * @param date * @return str */ public static String DateToStr(Date date) SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = format.format(date); return str; /** * 字符串转换成日期 * @param str * @return date */ public static Date StrToDate(String str) SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = null; try date = format.parse(str); catch (ParseException e) e.printStackTrace(); return date; public static void main(String[] args) Date date = new Date(); System.out.println("日期转Java字符串:" + ConvertDemo.DateToStr(date)); System.out.println("字符串转日期:" + ConvertDemo.StrToDate(ConvertDemo.DateToStr(date)));

android怎么把时间戳转换成小时

参考技术A 你好,很高兴能为你解答问题!
  日期和时间中设置。希望对你有帮助,满意请采纳,非常感谢!本回答被提问者和网友采纳

以上是关于scala时间戳转换的主要内容,如果未能解决你的问题,请参考以下文章

在 Spark (Scala) 中将时间戳转换为字符串而不会丢失毫秒

从时间戳获取精确的毫秒数 - Spark Scala

如何从 parquet 文件中选择 13 位时间戳列,将其转换为日期并存储为数据框?

spark scala比较具有时间戳列的数据帧

AIX 转换时间戳

如何实现时间戳转换