`
lyjilu
  • 浏览: 175501 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java util date转换成js日期

    博客分类:
  • java
阅读更多

问题是这样的,javabean中标准date是使用java.util.date,前台通过ajax获取后台的信息,得到的date对象是date的toString方法返回的字符串(Thu Jul 05 00:00:00 CST 2014),但是在页面却要显示为yyyy-MM-dd的格式,所以,怎么实现框架自动转换而不用程序员每个地方都去写转换呢,想到能实现的办法如下:

1、重写一个Date,讲toString修改为自己定义的格式,如返回时间戳,或者yyyy-MM-dd HH:mm:ss;这样实现带来一个问题,程序员在不知道的情况下,会不知道date需要用框架重写的类,无形中增加了培训成本及出现错误的几率,放弃。

2、在java对象转换成 json格式字符的时候转换,这种方式,貌似可以实现,但经过一番判断,发现json-lib是支持这种方式的,json-lib依赖太多,感觉对框架不理,所以用的是  json-smart,但json-smart貌似没有这种功能,故,这种方式也不适合json-smart。

3、在js中进行转换,对日期格式进行转换,先将Date.toString()后的字符串(Thu Jul 03 16:00:00 CST 2014)转换成 js的日期格式,用js的 new Date()就能转换成功,然后用format方法进行格式化成程序员定义的格式,如:yyyy-MM-dd HH:mm

当采用第三中方式后,转换出来时间确是(Sat Jul 05 2014 14:00:00 GMT+0800 (中国标准时间))。

这里需要设置系统默认市区,

TimeZone tz = TimeZone.getTimeZone("GMT+8:00"); 

TimeZone.setDefault(tz);

用于表示正确时间。系统运行环境默认是GMT+8,这种情况下会出现一个问题:

当用户在美国,或者其它市区,通过浏览器浏览系统会怎样???

浏览器会根据用户操作系统设置默认市区,导致系统中录入的 GMT+8时间转换成用户本地时间,

如:如果服务时间是2014-07-20 10:00:00,用户在 GMT+0:00 ,那么用js new Date(时间格式字符串)转换出的时间是2014-07-20 2:00:00

我想这可能不是很正确,因为如果要考虑用户的时区,那是不是应该在用户录入的时候,就将用户时区考虑进去,转换成GMT+8存入数据库,

如:用户在 GMT+0:00 时区,那么,在选择或者获取系统时间2014-07-21 00:00:00后,存入系统的时间应该是要+8 即:2014-07-21 08:00:00 的。这样才能在上述中,通过js计算时间后,用户看见的是正确的时间格式。不知道现有多少公司的多少系统真正做到国际化!

 最后实现是在js中转换成日期时,删掉了CST,让js认为这个时间是当前时区的时间,以便不进行增加或删除几小时。

 

 

分享到:
评论

相关推荐

    java的Date类型转换成MySQL的DateTime类型.doc

    在 Java 中,可以使用java.util.Date类来获取当前的日期和时间,然后使用自定义的方法将其转换为 MySQL 的 DateTime 类型。在 MySQL 中,DateTime 类型的格式是“YYYY-MM-DD HH:MM:SS”,因此需要将 Java 的 Date ...

    java 操作的日期 date

    在Java编程语言中,日期(Date)操作是常见的任务,特别是在处理日志记录、数据分析、时间戳转换等场景。Java提供了多种方式来处理日期和时间,包括内置的`java.util.Date`类,以及从Java 8开始引入的`java.time`...

    Java日期格式转换.doc

    然而,java.util.Date 类并不能直接满足日期格式转换的需求,因此需要使用其他类和方法来实现日期格式转换。 本文将介绍如何使用 Java 实现日期格式转换,包括使用 Calendar 类和 SimpleDateFormat 类来格式化日期...

    java-util大全.rar

    Java的`java.util.Date`和`java.time`包提供了处理日期和时间的方法。`SimpleDateFormat`用于格式化和解析日期,而Java 8引入的`LocalDate`, `LocalTime`, `LocalDateTime`等类提供了更强大、更易用的时间日期API。...

    java日期处理

    将`java.util.Date`转换为`java.sql.Date` `java.sql.Date`主要用于数据库操作,其构造函数接受毫秒值作为参数。可以通过如下代码进行转换: ```java java.util.Date utilDate = new java.util.Date(); java.sql....

    js-date-util:java脚本日期工具类

    `js-date-util` 是一个专为JavaScript设计的日期处理库,它提供了丰富的功能,帮助开发者在JavaScript环境中更方便地操作和格式化日期。这个库特别适用于那些需要在前端或者Node.js环境中进行复杂日期计算和格式化的...

    Java中Date类型的操作.docx

    在Java中,`java.util.Date`类提供了多种方法来进行日期的比较。 ##### 1. 使用`getTime()`方法 可以通过调用`Date`对象的`getTime()`方法获取日期对应的毫秒数,然后进行比较: ```java Date date = new Date();...

    JAVA日期控件

    在Java 8之前,日期和时间的处理主要依赖于`java.util.Date`和`java.text.SimpleDateFormat`类,但这两个类的设计并不理想,存在线程安全问题且API不易使用。因此,Java 8引入了新的`java.time`包,包含诸如`...

    json工具类,java日期转换,字符串转换等各种工具类

    Java中的日期和时间处理最初通过`java.util.Date`和`java.text.SimpleDateFormat`进行,但现在推荐使用`java.time`包下的API,如`LocalDate`、`LocalDateTime`和`DateTimeFormatter`等,这些类提供了更强大且易于...

    懒人原生format方法格式化Date时间日期

    // 使用format方法将Date转换为字符串 String formattedDate = sdf.format(now); // 输出格式化后的日期 System.out.println(formattedDate); } } ``` 在这个例子中,`SimpleDateFormat`的构造函数接收一个...

    java和js时间取值问题

    这段代码创建了一个`java.util.Date`对象,然后将其转换为`java.sql.Date`对象,打印出来的结果只包含日期。 ##### 3. 获取时间格式的时间 若要获取时间部分,则可以利用`DateFormat`类来格式化时间。 **示例代码...

    JAVA字符串转日期或日期转字符串.docx

    // 字符串转换成日期 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 ...

    javaScript和java中日期相减得出天数方案.docx

    无论是JavaScript还是Java,计算两个日期之间相差天数的基本原理都是相似的:先将日期转换为统一的时间单位(通常是毫秒),然后计算两个时间单位之间的差值,并将其转换为所需的单位(如天)。在实际开发中,还需要...

    json与java对象互转

    通过上述代码,我们可以看到自定义了`SQLDateSerializer`、`UtilDateSerializer`、`SQLDateDeserializer`和`UtilDateDeserializer`类,分别用于处理`java.sql.Date`和`java.util.Date`类型的序列化与反序列化。...

    將JAVA數據類型轉換Json對象是日期類的處理

    在Java中,日期类主要有`java.util.Date`、`java.time.LocalDate`、`java.time.LocalDateTime`等。转换这些日期到JSON时,我们需要确保日期格式正确无误,否则可能会导致解析错误或者丢失时间信息。一种常见的做法是...

    格林威治时间转化北京时间以及时间转换格式代码大全

    在Android应用开发中,Java语言提供了`java.util.Date`和`java.time`包中的类来处理日期和时间。例如,`java.util.Date`是最基础的时间类,可以表示从1970年1月1日00:00:00 GMT开始的毫秒数。`java.time`包是Java 8...

    Java语言深入--Java中日期的使用方法.docx

    对于日期的格式化,`DateFormat`是`java.text`包下的抽象类,用于将日期和时间转换为文本,以及将文本解析回日期和时间。`SimpleDateFormat`是`DateFormat`的子类,可以自定义日期格式。如要将日期格式化为“2006年...

    Date格式化

    `Date`格式化在Java、JavaScript、Python等许多编程语言中都非常重要,因为正确处理日期和时间对于数据分析、日志记录、用户界面显示等功能至关重要。 在Java中,`java.util.Date`类和`SimpleDateFormat`类常用于...

    根据输入的日期获取所属季度

    - 除了使用`java.util.*`和`java.text.*`中的类外,还可以考虑使用更加强大的第三方日期处理库,如`Joda-Time`或Java 8中新增的`java.time`包。 #### 七、总结 通过上述分析,我们可以看出这个程序虽然简单,但是...

    js实现时间应用

    JavaScript 和 Java 都是...以上就是关于JavaScript和Java中时间应用的基本知识点,包括创建、获取、设置日期时间,以及格式化和相互转换的方法。在实际开发中,还可以根据需求利用各种库和函数进行更复杂的时间处理。

Global site tag (gtag.js) - Google Analytics