• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Scala ZoneId类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Scala中java.time.ZoneId的典型用法代码示例。如果您正苦于以下问题:Scala ZoneId类的具体用法?Scala ZoneId怎么用?Scala ZoneId使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了ZoneId类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Scala代码示例。

示例1: Rfc3339Util

//设置package包名称以及导入依赖的类
package de.zalando.play.controllers

import java.time.format.{ DateTimeFormatter, DateTimeParseException }
import java.time.{ LocalDate, ZoneId, ZonedDateTime }


object Rfc3339Util {

  private val fullDate = DateTimeFormatter.ofPattern("yyyy-MM-dd")
  private val shortDateTime = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ")
  private val shortDTWithTicks = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")
  private val fullDTWithTicks = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSS'Z'")
  private val dateTime = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSZ")

  def parseDateTime(datestring: String): ZonedDateTime =
    if (datestring.endsWith("Z") || datestring.endsWith("z")) parseFull(datestring)
    else parseParts(datestring)

  def parseDate(datestring: String): LocalDate =
    LocalDate.parse(datestring, fullDate)

  def writeDate(date: LocalDate): String = fullDate.format(date)

  def writeDateTime(date: ZonedDateTime): String = dateTime.format(date)

  private def parseParts(datestring: String): ZonedDateTime = {
    //step one, split off the timezone.
    val sepChar = if (datestring.indexOf('+') > 0) '+' else '-'
    val firstpart = datestring.substring(0, datestring.lastIndexOf(sepChar.toInt))
    val secondpart = datestring.substring(datestring.lastIndexOf(sepChar.toInt))
    //step two, remove the colon from the timezone offset
    val thirdpart = secondpart.substring(0, secondpart.indexOf(':')) + secondpart.substring(secondpart.indexOf(':') + 1)
    val dstring = firstpart + thirdpart
    try {
      ZonedDateTime.parse(dstring, shortDateTime)
    } catch {
      case pe: DateTimeParseException =>
        ZonedDateTime.parse(dstring, dateTime)
    }
  }

  private def parseFull(datestring: String): ZonedDateTime = {
    val z = ZoneId.systemDefault()
    try {
      ZonedDateTime.parse(datestring, shortDTWithTicks.withZone(z))
    } catch {
      case p: DateTimeParseException => ZonedDateTime.parse(datestring, fullDTWithTicks.withZone(z))
    }
  }

} 
开发者ID:LappleApple,项目名称:api-first-hand,代码行数:52,代码来源:Rfc3339Util.scala


示例2: TimeServiceImpl

//设置package包名称以及导入依赖的类
package time.impl

import time.api.TimeService
import com.lightbend.lagom.javadsl.api.ServiceCall
import akka.NotUsed
import java.util.concurrent.CompletableFuture
import java.util.concurrent.CompletionStage
import java.time.LocalTime
import java.time.ZoneId

class TimeServiceImpl extends TimeService{

  
  override def timeAt(tz: String): ServiceCall[NotUsed, String] = {
    new ServiceCall[NotUsed, String] {
      
      override def invoke(obj: NotUsed) : CompletionStage[String] = {
        val c = new CompletableFuture[String]
        c.complete(LocalTime.now(ZoneId.of(tz, ZoneId.SHORT_IDS)).toString)
        c
      }
      
    }
  }
  
} 
开发者ID:oswaldo,项目名称:lagom-scala-scalajs-scalatags,代码行数:27,代码来源:TimeServiceImpl.scala


示例3: Global

//设置package包名称以及导入依赖的类
package shared

import play.api.libs.json._
import models.Building
import java.time.{ ZonedDateTime, ZoneId, DayOfWeek }

//Constants or constnat builders that are not messages
object Global {
  final val ZONEID = "Asia/Seoul"

  val baseStartTime = 9
  val baseEndTime = 17

  val classroomList = ("1202" :: "1203" :: "1204" :: "1205" :: "1206" :: "1207" :: "1208" :: Nil) ++
    ("1210" :: "1211" :: "1301" :: "1302" :: "1303" :: "1304" :: "1305" :: "1306" :: "1307" :: Nil) ++
    ("1308" :: "1309" :: "1310" :: "1311" :: "1401" :: "1402" :: "1403" :: "1404" :: "1405" :: Nil) ++
    ("1406" :: "1407" :: "1408" :: "1409" :: "1501" :: "1502" :: "1503" :: "1504" :: "1505" :: Nil) ++
    ("1506" :: "1507" :: "1508" :: "1509" :: "1601" :: "1602" :: "1603" :: "1604" :: "1605" :: Nil) ++
    ("1606" :: "1607" :: "1608" :: "1609" :: "2201" :: "2202" :: "2203" :: "2204" :: "2205" :: Nil) ++
    ("2207" :: "2208" :: "2210" :: "2401" :: "2402" :: "2403" :: "2404" :: "2405" :: "2407" :: Nil) ++
    ("2408" :: "2409" :: "2501" :: "2502" :: "2503" :: "2504" :: "2506" :: "2507" :: "2508" :: Nil) ++
    ("2509" :: "3201" :: "3203" :: "3205" :: "3206" :: "3301" :: "3302" :: "3303" :: "3304" :: Nil) ++
    ("3305" :: "3306" :: "3307" :: "3308" :: "3401" :: "3402" :: "3403" :: "3404" :: "3405" :: Nil) ++
    ("3406" :: "3407" :: "3408" :: "3409" :: "3501" :: "3502" :: "3503" :: "3504" :: "3505" :: Nil) ++
    ("3506" :: "3507" :: "3508" :: "3509" :: "C301" :: "C302" :: "C304" :: "C305" :: "C306" :: Nil) ++
    ("C307" :: "C308" :: "C309" :: "C310" :: "C311" :: "C401" :: "C402" :: "C405" :: "C406" :: Nil) ++
    ("C407" :: "C408" :: "C409" :: "C410" :: "C411" :: "C412" :: "C413" :: "C501" :: "C509" :: Nil) ++
    ("C510" :: "C513" :: "C514" :: "C515" :: "C606" :: "C614" :: "C615" :: "C616" :: Nil) ++
    ("0109" :: "0115" :: "0116" :: "0117" :: "0118" :: "0221" :: "0225" :: "0328" :: "0329" :: "0330" :: "0338" :: Nil)


  def keyboardTemplate(buttons: Seq[String]) = Json.obj(
    "type" -> "buttons",
    "buttons" -> buttons
  )

  def responseTemplate(message: String, buttons: Seq[String]) = Json.obj(
    "message" -> Map(
      "text" -> message
    ),
    "keyboard" -> keyboardTemplate(buttons)
  )

  def nowIsApplicable() = {
    val time = ZonedDateTime.now(ZoneId.of(ZONEID))
    val dow = time.getDayOfWeek.getValue()
    val hour = time.getHour()
    dow <= 5 && dow >= 1 && hour >= 9 && hour < 17
  }
} 
开发者ID:yoo-haemin,项目名称:hufs-classroom,代码行数:51,代码来源:Global.scala


示例4: safeToken

//设置package包名称以及导入依赖的类
package com.atomist.rug.function.github

import java.time.{OffsetDateTime, ZoneId}
import java.util.Date

import com.atomist.rug.runtime.Rug

trait GitHubFunction extends Rug {

  
  def safeToken(token: String): String =
    if (token != null)
      token.charAt(0) + ("*" * (token.length() - 2)) + token.last
    else
      null
}

object GitHubFunction {

  val ApiUrl = "https://api.github.com"

  val Events = Seq(
    "commit_comment",
    "create",
    "delete",
    "deployment",
    "deployment_status",
    "download",
    "follow",
    "fork",
    "fork_apply",
    "gist",
    "gollum",
    "issue_comment",
    "issues",
    "member",
    "page_build",
    "public",
    "pull_request",
    "pull_request_review_comment",
    "push",
    "release",
    "repository",
    "status",
    "team_add",
    "watch",
    "ping")

  def convertDate(date: Date): OffsetDateTime =
    if (date == null) null else OffsetDateTime.ofInstant(date.toInstant, ZoneId.systemDefault())
} 
开发者ID:atomist,项目名称:rug-functions-github,代码行数:52,代码来源:GitHubFunction.scala


示例5: Rfc3339UtilTest

//设置package包名称以及导入依赖的类
package de.zalando.play.controllers

import java.time.{ LocalDateTime, ZoneId, ZoneOffset, ZonedDateTime }

import org.scalatest.{ FunSpec, MustMatchers }


class Rfc3339UtilTest extends FunSpec with MustMatchers {

  val dtz = ZoneId.of("UTC")
  val offset = ZoneOffset.UTC
  //noinspection ScalaStyle
  val date = ZonedDateTime.of(LocalDateTime.ofEpochSecond(1451911387L, 0, offset), dtz)

  describe("Rfc3339UtilTest") {

    it("should parse RFC3339 DateTime") {
      Rfc3339Util.parseDateTime("2007-05-01T15:43:26-00:00").withZoneSameInstant(dtz).toString mustBe "2007-05-01T15:43:26Z[UTC]"
      Rfc3339Util.parseDateTime("2007-05-01T15:43:26+00:00").withZoneSameInstant(dtz).toString mustBe "2007-05-01T15:43:26Z[UTC]"
      Rfc3339Util.parseDateTime("2007-05-01T15:43:26.3452-01:00").withZoneSameInstant(dtz).toString mustBe "2007-05-01T16:43:26.345200Z[UTC]"
      Rfc3339Util.parseDateTime("2007-05-01T15:43:26.3452+01:00").withZoneSameInstant(dtz).toString mustBe "2007-05-01T14:43:26.345200Z[UTC]"
      Rfc3339Util.parseDateTime("2007-05-01T15:43:26.3452+00:00").withZoneSameInstant(dtz).toString mustBe "2007-05-01T15:43:26.345200Z[UTC]"
    }
    it("should parse RFC3339 Date") {
      Rfc3339Util.parseDate("2007-05-01").toString mustBe "2007-05-01"
      Rfc3339Util.parseDate("2008-05-01").toString mustBe "2008-05-01"
      Rfc3339Util.parseDate("2007-08-01").toString mustBe "2007-08-01"
      Rfc3339Util.parseDate("2007-05-08").toString mustBe "2007-05-08"
    }
    it("should write DateTime") {
      Rfc3339Util.writeDateTime(date) mustBe "2016-01-04T12:43:07.0000+0000"
    }
    it("should write Date") {
      Rfc3339Util.writeDate(date.toLocalDate) mustBe "2016-01-04"
    }
  }
} 
开发者ID:LappleApple,项目名称:api-first-hand,代码行数:38,代码来源:Rfc3339UtilTest.scala


示例6: Twilio

//设置package包名称以及导入依赖的类
package com.ovoenergy.comms.monitor.canary.sms.client

import java.time.{LocalDate, LocalDateTime, ZoneId}

import com.twilio
import com.twilio.base.Page
import com.twilio.rest.api.v2010.account
import org.joda.time.DateTime

import scala.annotation.tailrec
import scala.collection.JavaConverters._

object Twilio {

  case class TwilioConfig(accountSid: String, authToken: String, messageServiceSid: String)
  case class Message(messageId: String, body: String, from: String)

  def findSuccessfullyReceivedSMS(config: TwilioConfig): (String, LocalDateTime) => Option[Either[String, Message]] = {
    twilio.Twilio.init(config.accountSid, config.authToken)

    (traceToken: String, dateSent: LocalDateTime) =>
      {

        val jodaDateSent = new DateTime(dateSent.atZone(ZoneId.of("UTC")).toInstant.toEpochMilli).withTimeAtStartOfDay

        @tailrec
        def checkPageForMessage(page: Page[account.Message]): Option[Either[String, Message]] = {
          page.getRecords.asScala.find(message =>
            message.getBody.contains(traceToken) && message.getMessagingServiceSid == config.messageServiceSid) match {
            case Some(message) =>
              if (message.getStatus == account.Message.Status.FAILED || message.getStatus == account.Message.Status.UNDELIVERED) {
                Some(Left(message.getErrorMessage))
              } else if (message.getStatus == account.Message.Status.RECEIVED) {
                Some(Right(Message(message.getSid, message.getBody, message.getFrom.toString)))
              } else {
                None
              }

            case None =>
              if (page.hasNextPage) {
                val nextPage = account.Message.reader.setDateSent(jodaDateSent).nextPage(page)
                checkPageForMessage(nextPage)
              } else {
                None
              }
          }
        }

        val firstPage = account.Message.reader.setDateSent(jodaDateSent).firstPage()
        checkPageForMessage(firstPage)
      }
  }

} 
开发者ID:ovotech,项目名称:comms-monitor-service,代码行数:55,代码来源:Twilio.scala


示例7: LibratoActorStateSpec

//设置package包名称以及导入依赖的类
package com.ovoenergy.comms.monitor.pipeline.metrics.client.librato

import java.time.{ZoneId, ZonedDateTime}

import org.scalatest.{FlatSpec, Matchers}

class LibratoActorStateSpec extends FlatSpec with Matchers {
  val now = ZonedDateTime.of(2017, 1, 1, 0, 0, 0, 0, ZoneId.of("UTC"))

  behavior of "LibratoActorState"

  it should "keep track of gauge metrics" in {
    val source1 = "source1"
    val source2 = "source2"

    val metric1 = "metric1"
    val metric2 = "metric2"

    val state = LibratoActorState()
      .addGaugeMetric(source1, metric1, 1, now)
      .addGaugeMetric(source2, metric1, 1, now)
      .addGaugeMetric(source1, metric2, 1, now)

    state.gaugeMetrics should be(
      Vector(LibratoMetric(source1, metric1, 1, now),
             LibratoMetric(source2, metric1, 1, now),
             LibratoMetric(source1, metric2, 1, now)))
  }

  it should "keep track of counter metrics" in {
    val source1 = "source1"
    val source2 = "source2"

    val metric1 = "metric1"
    val metric2 = "metric2"

    val state = LibratoActorState()
      .addCounterMetric(source1, metric1, 1, now)
      .addCounterMetric(source2, metric1, 1, now)
      .addCounterMetric(source1, metric2, 1, now)

    state.counterMetrics should be(
      Vector(LibratoMetric(source1, metric1, 1, now),
             LibratoMetric(source2, metric1, 1, now),
             LibratoMetric(source1, metric2, 1, now)))
  }

  it should "start with empty metrics" in {
    val state = LibratoActorState()

    state.counterMetrics shouldBe empty
    state.gaugeMetrics shouldBe empty
  }

} 
开发者ID:ovotech,项目名称:comms-monitor-service,代码行数:56,代码来源:LibratoActorStateSpec.scala


示例8: SpecSpec

//设置package包名称以及导入依赖的类
package io.defn.crontab

import java.time.{ZoneId, ZonedDateTime}

import org.scalatest._


class SpecSpec extends FunSpec with Matchers {
  describe("Spec") {
    describe("dateTimes") {
      it("should return a stream of upcoming ZonedDateTimes for a spec") {
        val start = ZonedDateTime.of(2017, 1, 1, 0, 0, 0, 0, ZoneId.of("UTC"))
        val Right(spec) = Spec.parse("10-15 * * * Sun")
        val dateTimes = spec.dateTimes(start).take(10).toList

        dateTimes shouldEqual List(
          start.withHour(0).withMinute(10),
          start.withHour(0).withMinute(11),
          start.withHour(0).withMinute(12),
          start.withHour(0).withMinute(13),
          start.withHour(0).withMinute(14),
          start.withHour(0).withMinute(15),
          start.withHour(1).withMinute(10),
          start.withHour(1).withMinute(11),
          start.withHour(1).withMinute(12),
          start.withHour(1).withMinute(13)
        )
      }
    }
  }
} 
开发者ID:Bogdanp,项目名称:crontab,代码行数:32,代码来源:SpecSpec.scala


示例9: QuoteParser

//设置package包名称以及导入依赖的类
package openquant.yahoofinance.impl

import java.time.format.DateTimeFormatter
import java.time.{LocalDate, ZoneId, ZonedDateTime}

import com.github.tototoshi.csv._
import openquant.yahoofinance.Quote

import scala.io.Source


class QuoteParser {
  private[this] val df = DateTimeFormatter.ofPattern("yyyy-MM-dd")
  private[this] val zoneId = ZoneId.of("America/New_York")

  def parse(content: String): Vector[Quote] = {
    val csvReader = CSVReader.open(Source.fromString(content))
    val quotes: Vector[Quote] = csvReader.toStream.drop(1).map { fields ?
      parseCSVLine(fields.toVector)
    }.toVector
    quotes
  }

  private def parseCSVLine(field: Vector[String]): Quote = {
    require(field.length >= 7)
    Quote(
      parseDate(field(0)),
      BigDecimal(field(1)),
      BigDecimal(field(4)),
      BigDecimal(field(2)),
      BigDecimal(field(3)),
      BigDecimal(field(5)),
      BigDecimal(field(6))
    )
  }

  private def parseDate(date: String): ZonedDateTime = {
    LocalDate.parse(date, df).atStartOfDay().atZone(zoneId)
  }
}

object QuoteParser {
  def apply() = new QuoteParser
} 
开发者ID:openquant,项目名称:YahooFinanceScala,代码行数:45,代码来源:QuoteParser.scala


示例10: SunService

//设置package包名称以及导入依赖的类
package services

import model.SunInfo
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
import play.api.libs.ws.WSClient

import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global


class SunService(wsClient: WSClient) {
  def getSunInfo(lat: Double, lon: Double): Future[SunInfo] = {
    val responseF = wsClient.url("http://api.sunrise-sunset.org/json?" +
      s"lat=$lat&lng=$lon&formatted=0").get()
    responseF.map { response =>
      val json = response.json
      val sunriseTimeStr = (json \ "results" \ "sunrise").as[String]
      val sunsetTimeStr = (json \ "results" \ "sunset").as[String]
      val sunriseTime = ZonedDateTime.parse(sunriseTimeStr)
      val sunsetTime = ZonedDateTime.parse(sunsetTimeStr)
      val formatter = DateTimeFormatter.ofPattern("HH:mm:ss").withZone(ZoneId.of("Australia/Sydney"))
      val sunInfo = SunInfo(sunriseTime.format(formatter), sunsetTime.format(formatter))
      sunInfo
    }
  }
} 
开发者ID:denisftw,项目名称:modern-web-scala,代码行数:29,代码来源:SunService.scala


示例11: AwsCredentialFilterTest

//设置package包名称以及导入依赖的类
package io.github.daviddenton.finagle.aws

import java.time.{Clock, Instant, ZoneId}

import com.twitter.finagle.Service
import com.twitter.finagle.http.Method.Get
import com.twitter.finagle.http.{Request, Response}
import com.twitter.util.Await.result
import com.twitter.util.Future
import org.jboss.netty.handler.codec.http.HttpHeaders.Names
import org.scalatest.{FunSpec, Matchers}

class AwsCredentialFilterTest extends FunSpec with Matchers {

  private val clock = Clock.fixed(Instant.ofEpochMilli(0), ZoneId.of("UTC"))

  private val filter = AwsCredentialFilter("somehost", clock,
    AwsSignatureV4Signer(AwsCredentialScope(AwsRegion.usEast, AwsService.s3), AwsCredentials("access", "secret")))

  private val mirrorHeaders = Service.mk {
    req: Request =>
      val response = Response()
      req.headerMap.foreach(response.headerMap += _)
      Future.value(response)
  }

  describe("AwsCredentialFilter") {
    it("adds host header") {
      result(filter(Request(Get, "/test"), mirrorHeaders)).headerMap(Names.HOST) shouldBe "somehost"
    }

    it("adds auth header") {
      result(filter(Request(Get, "/test"), mirrorHeaders)).headerMap(Names.AUTHORIZATION) shouldBe
        "AWS4-HMAC-SHA256 Credential=access/19700101/us-east/s3/aws4_request, SignedHeaders=content-length;host;x-amz-date, Signature=d7690ffa429d19877081491d5a325f564782998a3369a311a3dfcaa8cdeb9ecc"
    }

    it("adds time header") {
      result(filter(Request(Get, "/test"), mirrorHeaders)).headerMap(AwsHeaders.DATE) shouldBe "19700101T010000Z"
    }

    it("adds content sha256") {
      result(filter(Request(Get, "/test"), mirrorHeaders)).headerMap(AwsHeaders.CONTENT_SHA256) shouldBe "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    }
  }
} 
开发者ID:daviddenton,项目名称:finagle-aws,代码行数:46,代码来源:AwsCredentialFilterTest.scala


示例12: LogTimestampFormatter

//设置package包名称以及导入依赖的类
package wvlet.log

import java.time.format.{DateTimeFormatterBuilder, SignStyle}
import java.time.{Instant, ZoneId, ZonedDateTime}
import java.util.Locale


object LogTimestampFormatter {
  import java.time.temporal.ChronoField._

  val systemZone             = ZoneId.systemDefault().normalized()
  val noSpaceTimestampFormat = new DateTimeFormatterBuilder()
                               .parseCaseInsensitive()
                               .appendValue(YEAR, 4, 10, SignStyle.EXCEEDS_PAD)
                               .appendLiteral('-')
                               .appendValue(MONTH_OF_YEAR, 2)
                               .appendLiteral('-')
                               .appendValue(DAY_OF_MONTH, 2)
                               .appendLiteral('T')
                               .appendValue(HOUR_OF_DAY, 2)
                               .appendLiteral(':')
                               .appendValue(MINUTE_OF_HOUR, 2)
                               .appendLiteral(':')
                               .appendValue(SECOND_OF_MINUTE, 2)
                               .appendLiteral('.')
                               .appendValue(MILLI_OF_SECOND, 3)
                               .appendOffset("+HHMM", "Z")
                               .toFormatter(Locale.US)

  val humanReadableTimestampFormatter = new DateTimeFormatterBuilder()
                                        .parseCaseInsensitive()
                                        .appendValue(YEAR, 4, 10, SignStyle.EXCEEDS_PAD)
                                        .appendLiteral('-')
                                        .appendValue(MONTH_OF_YEAR, 2)
                                        .appendLiteral('-')
                                        .appendValue(DAY_OF_MONTH, 2)
                                        .appendLiteral(' ')
                                        .appendValue(HOUR_OF_DAY, 2)
                                        .appendLiteral(':')
                                        .appendValue(MINUTE_OF_HOUR, 2)
                                        .appendLiteral(':')
                                        .appendValue(SECOND_OF_MINUTE, 2)
                                        .appendOffset("+HHMM", "Z")
                                        .toFormatter(Locale.US)

  def formatTimestamp(timeMillis: Long): String = {
    val timestamp = ZonedDateTime.ofInstant(Instant.ofEpochMilli(timeMillis), systemZone)
    humanReadableTimestampFormatter.format(timestamp)
  }

  def formatTimestampWithNoSpaace(timeMillis:Long) : String = {
    val timestamp = ZonedDateTime.ofInstant(Instant.ofEpochMilli(timeMillis), systemZone)
    noSpaceTimestampFormat.format(timestamp)
  }
} 
开发者ID:wvlet,项目名称:log,代码行数:56,代码来源:LogTimestampFormatter.scala


示例13: localDateTimeJsonFormat

//设置package包名称以及导入依赖的类
import java.nio.file.{Files, Path}
import java.time.format.DateTimeFormatter
import java.time.{LocalDate, LocalDateTime, ZoneId}
import java.util.Date
import java.util.zip.GZIPInputStream

import spray.json.{JsString, JsValue, RootJsonFormat}

import scala.io.Source


package object vijar {

  implicit def localDateTimeJsonFormat = new RootJsonFormat[LocalDateTime] {
    val dateFormatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME
    override def read(json: JsValue): LocalDateTime = LocalDateTime.parse(json.asInstanceOf[JsString].value, dateFormatter)

    override def write(obj: LocalDateTime): JsValue = JsString(obj.format(dateFormatter))
  }

  implicit class RichStringsOps(s: String) {
    def fromLongToLocalDateTime = {
      val t = new Date(s.toLong).toInstant
      LocalDateTime.ofInstant(t, ZoneId.systemDefault())
    }
  }

  case class GZIPReader[+T](path: Path)(f: Array[String] => T) extends Iterable[T]  {
    override def iterator: Iterator[T] = {
      Source.fromInputStream(new GZIPInputStream(Files.newInputStream(path))).getLines().map(l => f(l.split(" ")))
    }
  }
} 
开发者ID:chauhraj,项目名称:akka-http-websockets-template,代码行数:34,代码来源:package.scala


示例14: receive

//设置package包名称以及导入依赖的类
package io.soheila.um.jobs

import java.time.ZoneId
import javax.inject.Inject

import akka.actor._
import io.soheila.um.jobs.AuthTokenCleaner.Clean
import io.soheila.um.services.auths.AuthTokenService
import io.soheila.um.utils.UMClock

import scala.concurrent.ExecutionContext.Implicits.global


  def receive: Receive = {
    case Clean =>
      val start = clock.now.atZone(ZoneId.systemDefault()).toInstant.toEpochMilli
      val msg = new StringBuffer("\n")
      msg.append("=================================\n")
      msg.append("Start to cleanup auth tokens\n")
      msg.append("=================================\n")
      service.clean.map { deleted =>
        val now = clock.now.atZone(ZoneId.systemDefault()).toInstant.toEpochMilli
        val seconds = (now - start) / 1000
        msg.append("Total of %s auth tokens(s) were deleted in %s seconds".format(deleted.length, seconds)).append("\n")
        msg.append("=================================\n")

        msg.append("=================================\n")
        logger.info(msg.toString)
      }.recover {
        case e =>
          msg.append("Couldn't cleanup auth tokens because of unexpected error\n")
          msg.append("=================================\n")
          logger.error(msg.toString, e)
      }
  }
}

object AuthTokenCleaner {
  case object Clean
} 
开发者ID:esfand-r,项目名称:soheila-um,代码行数:41,代码来源:AuthTokenCleaner.scala


示例15: TaskInput

//设置package包名称以及导入依赖的类
package io.github.maxkorolev.task

import java.time.{ Instant, LocalDateTime, OffsetDateTime, ZoneId }
import java.util.concurrent.Callable

import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.server.Directives._
import io.github.maxkorolev.base.BaseService
import io.github.maxkorolev.task.TaskManager.PushTask

import scala.concurrent.duration._

case class TaskInput(time: Long)

trait TaskService extends BaseService {

  protected val taskRoutes =
    pathPrefix("task") {
      post {
        entity(as[TaskInput]) { in =>
          log.info("/task executed")

          val time = Instant.ofEpochMilli(OffsetDateTime.now().toInstant.toEpochMilli + in.time * 1000L).atZone(ZoneId.systemDefault()).toLocalDateTime

          val millis = time.atZone(ZoneId.systemDefault()).toInstant.toEpochMilli
          val task = new Task {
            val time = millis
            val timeout = 10.seconds
            override def call(): Any = {
              Thread.sleep(3000)
            }
          }
          taskManager ! PushTask(task)

          complete(StatusCodes.OK)
        }
      }
    }
} 
开发者ID:maxkorolev,项目名称:pix,代码行数:40,代码来源:TaskService.scala


示例16: TaskFactoryUtil

//设置package包名称以及导入依赖的类
package io.github.maxkorolev

import java.time.{ Instant, OffsetDateTime, ZoneId }

import io.github.maxkorolev.task.Task

import scala.concurrent.duration._

object TaskFactoryUtil {

  def exactMillis(seconds: Long): Long = {
    val time = Instant.ofEpochMilli(OffsetDateTime.now().toInstant.toEpochMilli + seconds * 1000L).atZone(ZoneId.systemDefault()).toLocalDateTime
    time.atZone(ZoneId.systemDefault()).toInstant.toEpochMilli
  }

  def successTask(seconds: Long, cb: => Unit = () => ()): Task = new Task {
    val time = exactMillis(seconds)
    val timeout = 10.seconds
    override def call(): Any = {
      Thread.sleep(1000)
    }
  }

  def failedTask(seconds: Long): Task = new Task {
    val time = exactMillis(seconds)
    val timeout = 10.seconds
    override def call(): Any = {
      Thread.sleep(1000)
      throw new RuntimeException("Something went wrong")
    }
  }

  def timeoutTask(seconds: Long): Task = new Task {
    val time = exactMillis(seconds)
    val timeout = 2.seconds
    override def call(): Any = {
      Thread.sleep(4000)
    }
  }
} 
开发者ID:maxkorolev,项目名称:pix,代码行数:41,代码来源:TaskFactoryUtil.scala


示例17: NoneJNullSerializer

//设置package包名称以及导入依赖的类
package io.vamp.pulse.util

import java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME
import java.time.{Instant, OffsetDateTime, ZoneId}

import io.vamp.pulse.api.AggregatorType
import org.json4s.JsonAST.{JNull, JString}
import org.json4s._
import org.json4s.ext.EnumNameSerializer

class NoneJNullSerializer extends CustomSerializer[Option[_]](format => ({ case JNull => None }, { case None => JNull }))

class OffsetDateTimeSerializer extends CustomSerializer[OffsetDateTime](
   format => (
     {
       case JString(str) => OffsetDateTime.parse(str)
       case JDouble(num) =>
         OffsetDateTime.from(Instant.ofEpochSecond(num.toLong).atZone(ZoneId.of("UTC")))

     },
     { case date: OffsetDateTime => JString(date.format(ISO_OFFSET_DATE_TIME))}
     )
)

object Serializers {
  implicit val formats = DefaultFormats + new OffsetDateTimeSerializer() + new EnumNameSerializer(AggregatorType)
} 
开发者ID:carriercomm,项目名称:vamp-pulse-api,代码行数:28,代码来源:Serializers.scala


示例18: CsvLoader

//设置package包名称以及导入依赖的类
package com.miriamlaurel.aggro.csv.okcoin

import java.io.{File, FilenameFilter}
import java.time.{Instant, ZoneId}
import java.time.format.DateTimeFormatter
import java.time.temporal.TemporalAccessor
import java.util.UUID

import com.github.tototoshi.csv.CSVReader
import com.miriamlaurel.aggro.Inventory
import com.miriamlaurel.aggro.model.Fill
import com.miriamlaurel.fxcore._
import com.miriamlaurel.fxcore.asset.Currency
import com.miriamlaurel.fxcore.party.Party
import com.miriamlaurel.fxcore.portfolio.Position

object CsvLoader {

  val oft = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.of("Asia/Shanghai"))

  def parseCsv(tokens: Seq[String]): Fill = {
    val fillId = tokens.head.toLong
    val id = tokens(1).toLong
    val timeString: String = tokens(2)
    val btcBalance = SafeDouble(tokens(5).split("/")(0).replaceAll(",", "").toDouble)
    val cnyBalance = SafeDouble(tokens(7).replaceAll(",", "").toDouble)
    val parsedTime: TemporalAccessor = oft.parse(timeString)
    val ts = Instant.from(parsedTime)
    try {
      val btcStr = tokens(4).replaceAll(",", "")
      val btcS = if (btcStr.startsWith("+")) btcStr.substring(1) else btcStr
      val cnyStr = tokens(6).replaceAll(",", "")
      val cnyS = if (cnyStr.startsWith("+")) cnyStr.substring(1) else cnyStr
      val btc: Monetary = Monetary(SafeDouble(btcS.toDouble), Bitcoin)
      val cny: Monetary = Monetary(SafeDouble(cnyS.toDouble), Currency("CNY"))
      val position = Position(btc, cny, None, ts.toEpochMilli, UUID.randomUUID())
      val inventory: Inventory = Map(Bitcoin -> btcBalance, Currency("CNY") -> cnyBalance)
      Fill(Party("OKCN"), position, id.toString, Some(fillId.toString), Some(inventory))
    } catch {
      case x: Throwable =>
        x.printStackTrace()
        throw x
    }

  }

  def loadFromCsv(dir: File): Array[Fill] = {
    val files = dir.listFiles(new FilenameFilter {
      override def accept(dir: File, name: String): Boolean = name.endsWith(".csv")
    })
    val data = for (file <- files) yield {
      val reader = CSVReader.open(file)
      val fills = reader.toStream.drop(1).filter(line => {
        !line.head.startsWith("1024548491")
      }).map(parseCsv).toArray
      reader.close()
      fills
    }
    data.flatten
  }
} 
开发者ID:atemerev,项目名称:aggro,代码行数:62,代码来源:CsvLoader.scala


示例19: LeitorXML

//设置package包名称以及导入依赖的类
package br.com.caelum.argentum.reader

import java.time.{LocalDateTime, ZoneId}
import java.util.Date

import br.com.caelum.argentum.modelo.Negociacao


class LeitorXML {

	def carregaFromXml(xml: scala.xml.NodeSeq): List[Negociacao] = {

		xml.flatMap(n => n \\ "negociacao")
			.toList.map(n => {
			val preco = Option((n \\ "negociacao" \ "preco").text)
				.filter(v => !v.isEmpty).map(v => BigDecimal(v))
			val quantidade = Option((n \\ "negociacao" \ "quantidade").text)
				.filter(n => !n.isEmpty).map(n => n.toInt)
			val data = Option((n \\ "negociacao" \ "data" \ "time").text)
				.filter(n => !n.isEmpty).map(v => v.trim.toLong)
				.map(m => new Date(m))
				.map(d => LocalDateTime.ofInstant(d.toInstant, ZoneId.systemDefault()))
			(preco, quantidade, data)
		}).filter(v => !(v._1.isEmpty) && !(v._2.isEmpty) && !(v._3.isEmpty) )
		  .map(v => {
				v match {
					case (preco, quantidade, data) => {Negociacao(preco.getOrElse(BigDecimal(0)), quantidade.getOrElse(0), data.getOrElse(null))}
					case _ => Nil
				}
			}).toList.asInstanceOf[List[Negociacao]]
	}
} 
开发者ID:DaniloAndrade,项目名称:Argentum,代码行数:33,代码来源:LeitorXML.scala


示例20: StateClock

//设置package包名称以及导入依赖的类
package aecor.testkit

import java.time.temporal.TemporalAmount
import java.time.{ Instant, ZoneId }

import aecor.util.Clock
import cats.Applicative
import cats.data.StateT

class StateClock[F[_]: Applicative, S](zoneId: ZoneId,
                                       extract: S => Instant,
                                       update: (S, Instant) => S)
    extends Clock[StateT[F, S, ?]] {

  override def zone: StateT[F, S, ZoneId] = StateT.pure(zoneId)

  override def instant: StateT[F, S, Instant] = StateT.get[F, Instant].transformS(extract, update)

  def tick(temporalAmount: TemporalAmount): StateT[F, S, Unit] =
    StateT
      .modify[F, Instant](_.plus(temporalAmount))
      .transformS(extract, update)
}

object StateClock {
  def apply[F[_]: Applicative, S](zoneId: ZoneId,
                                  extract: S => Instant,
                                  update: (S, Instant) => S): StateClock[F, S] =
    new StateClock[F, S](zoneId, extract, update)
} 
开发者ID:notxcain,项目名称:aecor,代码行数:31,代码来源:StateClock.scala



注:本文中的java.time.ZoneId类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Scala Partitioner类代码示例发布时间:2022-05-23
下一篇:
Scala Process类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap