首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在PlayFramework 2.1中将Json日期和时间字符串解析为带日期的Case类

在PlayFramework 2.1中将Json日期和时间字符串解析为带日期的Case类
EN

Stack Overflow用户
提问于 2013-03-28 12:25:23
回答 1查看 1.3K关注 0票数 0

在PlayFramework 2.1中,我想读取json并创建一个case类。结构不同,所以我不能使用默认的阅读器。要将这两个字符串合并到java.util.Date,我需要编写什么内容?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import play.api.libs.functional.syntax._
import play.api.libs.json._
import play.api.libs.json.util._
import play.api.libs.json.Reads._

case class Person(name: String, lastSeen: Date)
val jsonString = Json.parse("""{name: "Joe", day: "2013-03-28", time: "09:35"}""")

val personLastSeen: Reads[Person] = (
  (__ \ "name").read[String] ~
  // (__ \ "day").read[String] (__ \ "time").read[String] // @TODO
)(Person)

我应该调换这个读数吗?我用dateStructure.parse(...)试过val dateStructure = new SimpleDateFormat("yyyy-MM-dd HH:mm"),但我想我需要一个Reads[Date]

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-28 12:58:58

我认为您不能使用ReadsT组合器做到这一点,但是您可以定义一个特征读取及其方法def read(json: JsValue): JsResult[T]

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import play.api.libs.functional.syntax._
import play.api.libs.json._
import play.api.libs.json.util._
import play.api.libs.json.Reads._
import java.util.Date
import java.text.SimpleDateFormat

case class Person(name: String, lastSeen: Date) {      
}

object Person {
  implicit val personLastSeen = new Reads[Person] {
    val sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm")
    def reads(js: JsValue): JsResult[Person] = {
      JsSuccess(Person(
        (js \ "name").as[String],
        sdf.parse((js \ "day").as[String] + " " + (js \ "time").as[Float])))
    }
  }
}
object Test extends App {
    val jsonString = Json.parse("""{name: "Joe", day: "2013-03-28", time: "09:35"}""")
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15681769

复制
相关文章
Java 解析 带 T Z 的 UTC 时间格式 日期
直接上代码吧 public static void main(String[] args) throws ParseException { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); df.setTimeZone(TimeZone.getTimeZone("UTC")); Date parse = df.parse("2023-01-20T06:50:5
彼岸舞
2023/01/13
2.7K0
11.4 Java 日期和时间类
我们先来看一些基本概念,然后再介绍 Java 的日期和时间 API。关于日期和时间,有一些基本概念,包括时区、时刻、纪元时、年历等。
acc8226
2022/05/17
4.3K0
11.4 Java 日期和时间类
SpringMVC 日期/时间 参数解析
Spring mvc 默认设置对日期和时间参数转换不是很理想,自带的CustomDateEditor 只能传入一个DateFormat,而我们知道SimpleDateFormat 又是线程不安全的,我们可以通过自定义一个PropertyEditorSupport的子类,用其他方式来实现日期格式的转换。少比比,直接上代码:
前Thoughtworks-杨焱
2021/12/07
8930
日期工具类-操作字符串和Date、LocalDate互转,两个日期的时间差等
避免重复造轮子,相关方法基于hutool日期时间工具封装并做部分增强。需要先引入如下坐标
共饮一杯无
2022/11/28
1.2K0
日期和时间构造
这些构造采用 ODBC 日期、时间或时间戳格式的整数或字符串,并将其转换为相应的 IRIS 日期、时间或时间戳格式。他们执行数据输入以及值和范围检查。
用户7741497
2022/08/02
2.1K0
linux 时间和日期
date 查看系统时间(默认) date +“%Y-%m-%d %H:%M:%S” 查看系统时间(指定格式) date -s “时间字符串” 设置系统时间
云缓缓知我意
2021/04/15
4.3K0
python日期和时间
python中常用的处理时间的模块有两个:time 模块、datetime 模块,time模块是比较基础的一个模块,可满足对时间类型数据的基本处理;而 datetime模块可以看做是 对time模块的一个高级封装,功能更加强大,例如在时间的加减上(获取指定时间的前(后)一天的时间,获取指定时间的前(后)一小时的时间),使用datetime模块,实现起来更为方便~
py3study
2020/01/03
2.3K0
python日期和时间
[快学Python3]日期和时间处理
概述 在python中, date、time、datetime类提供了一系列处理日期、时间和时间间隔的函数。 在Python里我们大致可以把其实现日期时间类分为5个: date 仅用于日期处理(年、月、日) time 仅用于时间处理(时、分、秒、毫秒) datetime 可以处理日期和时间的组合(年、月、日、时、分、秒、毫秒) timedelta 日期时间处理,可以用于时间运算等 tzinfo 用于时区处理 下面我们一起看几个实例来看看上述几个类的应用,在本文中不会列举所有的应用方法。 基础实例 直接上代码
苦叶子
2018/04/09
2.1K0
时间区域类与日期格式类
Locale.setDefault(Locale.TAIWAN);这个方法是设置全局区域,设置了某一个国家后,全部的打印都是以这个国家/区域的文字显示。例如设置为美国:
端碗吹水
2020/09/23
8320
时间区域类与日期格式类
Python 日期和时间
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
Python知识大全
2020/02/13
2K0
Java8的日期、时间类
      JAVA提供了Date和Calendar用于处理日期、时间的类,包括创建日期、时间对象,获取系统当前日期、时间等操作。 一、Date类(java.util.Date) 常用的两个构造方法:       1. Date();       2. Date(long date); 常用的方法:       boolean after(Date when)       boolean before(Date when)       long getTime();       void setTime();       System.currentTimeMills(); 二、Calendar类       因为Date类在设计上存在一些缺陷,所以Java提供了Calendar类更好的处理日期和时间。Calendar是一个抽象类,它用于表示日历。Gregorian Calendar,最通用的日历,公历。       Calendar与Date都是表示日期的工具类,它们直接可以自由转换。
程序员云帆哥
2022/05/12
5130
在 MySQL 中处理日期和时间(二)
欢迎回到这个关于在 MySQL 中处理日期和时间的系列。在前面章节中,我们探讨 MySQL 的时态数据类型。第一部分介绍了 DATE、TIME 和 DATETIME 数据类型,而本部分将介绍余下的 TIMESTAMP 和 YEAR 类型。
MySQL技术
2022/06/08
3.4K0
在 MySQL 中处理日期和时间(二)
在 MySQL 中处理日期和时间(三)
在本系列关于日期和时间的前两部分中,我们介绍了 MySQL 的五种时态数据类型。现在是时候将注意力转移到 MySQL 的许多面向日期或时间的函数了。
MySQL技术
2022/06/08
3.8K0
在 MySQL 中处理日期和时间(三)
在 MySQL 中处理日期和时间(四)
在这个关于日期和时间的系列中,我们探索了 MySQL 的五种时态数据类型,以及它的许多面向日期或时间的函数中的一些。在本文中,我们将介绍在 MySQL 中创建日期和时间的几种方法。
MySQL技术
2022/06/08
3.9K0
在 MySQL 中处理日期和时间(四)
Qt日期时间类相关知识
1. 获取当前日期时间: QDateTime::currentDateTime(); 2. 格式化输出指定格式时间: QDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz") yyyy表示年; MM表示月; dd表示日; hh表示小时; mm表示分; ss表示秒; zzz表示毫秒 3. 输出制定值: QDate().year();//年 QDate().month();//月 QDate().day();//日 QTime().hour()
Qt君
2019/07/15
9240
在 MySQL 中处理日期和时间(一)
绝大多数数据库存储了大量的“时态”数据。时态数据只是表示时间状态的简单数据。一个组织可能出于各种原因收集时态数据,例如分析天气模式和其他环境变量、监控交通状况、研究人口趋势等。企业还经常需要存储有关何时下订单、何时补货、何时雇用员工,以及有关其日常业务的大量其他信息。
MySQL技术
2022/06/08
3.6K0
在 MySQL 中处理日期和时间(一)
在 MySQL 中处理日期和时间(五)
在 MySQL 中的日期和时间系列的最后一部分中,我们将通过编写 SELECT 查询来将迄今为止学到的所有知识付诸实践,以获得对数据的与日期相关的细节。
MySQL技术
2022/06/08
4.2K0
在 MySQL 中处理日期和时间(五)
Java时间日期工具类
     leftDaterightDateleftDaterightDateleftDaterightDate@param @param @return      leftDaterightDateleftDaterightDateleftDaterightDate@param @return      datecalendar getInstancecalendardatecalendarcalendarcalendarcalendar@param @return    老是忘,还是记录下 -_-||
sunonzj
2022/06/21
6950
js时间戳转换日期格式和日期计算
一、时间戳转换日期 1 function formatDate(datetime) { 2 // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 3 var year = datetime.getFullYear(), 4 month = ("0" + (datetime.getMonth() + 1)).slice(-2), 5 date = ("0" + datetime.getDate()).
半指温柔乐
2018/09/11
29.2K0
点击加载更多

相似问题

在Xml序列化中将日期时间字符串解析为日期时间

30

在Server中将日期和时间串联为日期时间

20

使用JSON模式将日期/时间字符串解析为日期时间

13

JSON日期和时间解析

13

JSON解析日期和时间?

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文