我是android studio和java开发的新手.
我想解析这个日期:
"2017-04-26T20:55:00.000Z"
Run Code Online (Sandbox Code Playgroud)
,我从哈希映射字符串中获取.
我想只在我的视图中显示日期.
我在应用程序中显示日期时遇到问题.
我得到时间戳为:
2017-08-02T06:05:30.000Z
但就此而言,实际时间是:
2017:08:02 11:35 AM
但在使用我的代码转换后,它将时间显示为:
上午6:00
如何显示当前时间?
我的代码如下:
private static SimpleDateFormat timestampformat =
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.mmm'Z'");
private static SimpleDateFormat sdftimeformat = new SimpleDateFormat("HH:mm a");
private static SimpleDateFormat getSdftimeformat() {
return sdftimeformat;
}
public static String timeStampConvertToTime(String time) {
Date date1 = null;
try {
date1 = timestampformat.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
String formattedTime = getSdftimeformat().format(date1);
return formattedTime;
}
Run Code Online (Sandbox Code Playgroud) 我有一个DatePicker元素(“DPstart”)。
我想timestamp在字符串“newStartDate”中保存午夜(以毫秒为单位),而不考虑用户的时区。
我怎样才能做到这一点?
DatePicker DPstart = (DatePicker) findViewById(R.id.datePickerStart);
Calendar calendar = new GregorianCalendar(DPstart.getYear(), DPstart.getMonth(), DPstart.getDayOfMonth());
long DPS = calendar.getTimeInMillis();
String newStartDate = Long.toString(DPS);
Run Code Online (Sandbox Code Playgroud) 我对日期有点困惑。我目前正在开发天气应用程序,一切正常..我只是想将这种类型的格式处理成我自己想要的格式。
2017-09-10T18:35:00+05:00
Run Code Online (Sandbox Code Playgroud)
我只想将此日期转换为大纪元时间,然后以我想要的格式确定日期::
对于J-SON
或者我想将此日期转换为更少的数字,即 Sun,9 月 9 日 9:23 Am 等。
我有 DateTime 字符串 2020-04-03 01:29:27 和 2020-04-03 01:29:37 我想以小时为单位获得持续时间。我已经尝试了很多东西,但这却找不到任何帮助
我收到一个 ISO 8601 日期时间格式的字符串2020-11-03T15:23:24.388Z。在 Java 中将其转换为纪元秒的最佳方法是什么?
基本上我的日期字符串是ISO-8601日期字符串,所以我搜索了将ISO-8601日期字符串转换为日期,但解决方案很冗长.这是详细信息.
我有一个字符串2018-02-02T06:54:57.744Z想要将其转换为日期,但我收到错误:
java.text.ParseException: Unparseable date: "2018-02-02T06:54:57.744Z"
Run Code Online (Sandbox Code Playgroud)
我使用以下技术来做到这一点,但没有成功:
SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");
parser.setTimeZone(TimeZone.getTimeZone("UTC"));
Date parsed = parser.parse(utcDateString);
return parsed;
Run Code Online (Sandbox Code Playgroud)
我也使用以下模式SimpleDateFormat但没有成功:
yyyy-MM-dd'T'HH:mm:ss.SSSZ
yyyy-MM-dd HH:mm:ss.S
yyyy-MM-dd'T'HH:mm:ssX
yyyy-MM-dd'T'HH:mm'Z'
Run Code Online (Sandbox Code Playgroud)
任何解决这个问题的方法.
所以我正在制作一个 Android 应用程序,我需要计算当前日期和当月最后一个日期之间的天数。
假设今天是 1/11/2017,当月的最后一个日期是 30/11/2017。所以天数是 30。因为 30 天后下个月就要开始了。
我尝试了下面的代码,但它给了我两天前星期几的名称。
DatePicker picker;
int date = picker.DayOfMonth;
int month = (picker.Month + 1);//month is 0 based
int year = picker.Year;
SimpleDateFormat simpledateformat = new SimpleDateFormat("EEE");
Date dt = new Date(year, month, date);
Run Code Online (Sandbox Code Playgroud) 我使用以下条件将当前系统时间作为开始时间和明天时间作为我的跟踪日志项目中的停止时间.但是现在我想要starttime应该是当前系统时间的+ 1分钟.任何人都可以帮忙吗?
SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String startTime=date_format.format(new Date());
String tomorrowTime=date_format.format(new Date(new Date().getTime()+(1000*60*60*24)));
Run Code Online (Sandbox Code Playgroud)
谢谢
如何在 Java 中找到一个月的最后一个工作日。如果一个月的最后一天是星期六或星期日,则最后一个工作日应该是星期五。例如,如果 3 月 31 日是星期日,则最后一个工作日是 3 月 29 日星期五。
获取当前月份
Date today = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(today);
calendar.add(Calendar.MONTH, 1);
Run Code Online (Sandbox Code Playgroud) 以下代码提供了错误的信息:
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
public class test {
public static void main(String[] args) {
GregorianCalendar fmt = new GregorianCalendar(2000, 7, 3);
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String result = df.format(fmt.getTime());
System.out.println("fmt: " + result);
}
}
Run Code Online (Sandbox Code Playgroud)
它输出:
fmt:2000年8月3日
虽然我需要月份为7月,因为我已将月份设定为7?
如何java.util.Date用DateTimeFormatter便携式格式化?
我不能用
Date in = readMyDateFrom3rdPartySource();
LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());
ldt.format(dateTimeFormatter);
Run Code Online (Sandbox Code Playgroud)
因为我担心使用ZoneId.systemDefault()会引入一些变化.
我需要准确格式化我拥有的对象.
UPDATE
注意:时间就是时间.不是空间.时区是经度的非常粗略的度量,即空间.我不需要它.只有时间(和日期).
更新2
我编写了以下程序,证明,它Date不仅包含正确的"即时":
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DataNature2 {
public static void main(String[] args) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateTimeString = "1970-01-01 00:00:01";
Date date = simpleDateFormat.parse(dateTimeString);
System.out.println("1 second = " + date.getTime());
}
}
Run Code Online (Sandbox Code Playgroud)
输出如下:
1 second = -10799000
Run Code Online (Sandbox Code Playgroud)
虽然它应该是
1 second = 1000
Run Code Online (Sandbox Code Playgroud)
如果Date是"即时". …