我在时间格式转换方面遇到了奇怪的问题。
我有字符串,时间=“11:00”
我必须将上面的字符串转换为日期,我正在执行以下操作:
Calendar cal= Calendar.getInstance();
cal.setTime(Convert.fromShortTime(timeIn)); // this method is below
public static SimpleDateFormat SHORT_TIME = new SimpleDateFormat("HH:mm");
public static Date fromShortTime(String shortTime)
{
try {
return shortTime == null ? null : SHORT_TIME.parse(shortTime);
} catch (ParseException e) {
return null;
}
}
so cal.setTime(Convert.fromShortTime(timeIn));将值更改为:太平洋标准时间 1970 年 1 月 1 日星期四 10:00:00,字符串少 1 小时。
我的笔记本电脑时间是山区时间,设备时间是太平洋时间。如果我将笔记本电脑时间更改为太平洋,那么它工作正常。
我想知道为什么Android Studio的笔记本电脑时间会影响SimpledateFormat?
是的,它确实会影响。默认情况下,SimpleDateFormat
使用系统的默认时区(如果未指定)。尝试在方法中指定它(此外,SimpleDateFormat
不是线程安全的,所以不要将其用作静态
变量):
public static Date fromShortTime(String shortTime){
try {
SimpleDateFormat shortTimeFormat = new SimpleDateFormat("HH:mm");
shortTimeFormat.setTimeZone(TimeZone.getTimeZone("PST"));
return shortTime == null ? null : shortTimeFormat.parse(shortTime);
} catch (java.text.ParseException e) {
return null;
}
}
我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗? 已更新
问题内容: 如果我有一个日期,而我想要的只是这样的月份和日期(mm / dd),然后把这个月份变成08年7月,您将如何写日期 问题答案: 让我看看我是否理解得很好。 您有“ 07/08”之类的日期,并且想要“ 08年7月”? 您可以尝试SimpleDateFormat
我有一个变量在一个类在测试情况下,我需要嘲笑它。我尝试过这样 但事实的确如此 giving me无法将给定对象格式化为日期 在一台机器和另一台机器上 它给我的日期不能为空。 我是Junit新手,需要帮助解决这个问题
问题内容: 我试图改变对象的格式,我试图以这种方式做到这一点: 但这对对象没有任何影响,仍然是旧格式,无法真正理解为什么会这样。 问题答案: 请尝试将两个概念区分开:您的数据和向用户呈现的数据(或用于其他目的的格式设置,例如包含在JSON中)。的保持值7可以表示为(格式化成)7,07,007或7,同时仍保持刚好相同的值而没有任何格式化信息- 外的格式化谎言。同样,a 具有一个时间点,它可以表示为(
我有Date对象的格式 我是怎么做到的?。 我试着用这个代码 当我试着做一个测试时,我会得到这样的结果: 我的问题是在sql将java.util.date更改为java.sql.date时出现的 我解决了这个问题,所以: 和测试:
但这对对象没有任何影响,它还是用旧格式的,不能真正理解它为什么会那样。