我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.
对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:
>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud) datetime android android-gradle-plugin threetenbp threetenabp
使用此代码:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(dtStart);
return date;
Run Code Online (Sandbox Code Playgroud)
我已经按日期对象转换了字符串日期并获得了价值... ------> Sun Feb 17 07:00:00 GMT 2013 <---------------
现在我想提取日(周日/周一)和月形式在这里任何帮助????
我试着通过这种方式得到一个带有实际工作日名称的字符串:
Calendar c = Calendar.getInstance();
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
if (c.get(Calendar.MONDAY) == dayOfWeek) weekDay = "monday";
else if (c.get(Calendar.TUESDAY) == dayOfWeek) weekDay = "tuesday";
else if (c.get(Calendar.WEDNESDAY) == dayOfWeek) weekDay = "wednesday";
else if (c.get(Calendar.THURSDAY) == dayOfWeek) weekDay = "thursday";
else if (c.get(Calendar.FRIDAY) == dayOfWeek) weekDay = "friday";
else if (c.get(Calendar.SATURDAY) == dayOfWeek) weekDay = "saturday";
else if (c.get(Calendar.SUNDAY) == dayOfWeek) weekDay = "sunday";
Run Code Online (Sandbox Code Playgroud)
但weekDay保持总是为空,我实际上不知道为什么因为调试器说dayOfWeek是5所以我应该等于c.get(Calendar.THURSDAY)
每当我使用我SimpleDateFormat的android时,它一直给我错误调用需要API级别24.这是没有意义的,因为我参考这个教程已经有几年了.
这是给出错误的代码
SimpleDateFormat formatter = new SimpleDateFormat("EEE,dd MMM,yyyy HH:mm:ss");
我甚至尝试但它仍然无法正常工作
SimpleDateFormat formatter = new SimpleDateFormat("EEE,dd MMM,yyyy HH:mm:ss",Locale.US);
这是我遇到问题的方法
public static long getDateInMillis(String srcDate) {
SimpleDateFormat formatter = new SimpleDateFormat("EEE,dd MMM yyyy HH:mm:ss");
long dateInMillis = 0;
try {
Date date = formatter.parse(srcDate);
dateInMillis = date.getTime();
return dateInMillis;
}
catch (java.text.ParseException e) {
e.printStackTrace();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中有日期选择器并且它运行良好.但我需要选择星期几而不是日期(即,如果我选择日期23我需要像"星期五"而不是数字那样获得一天).我用于OnDateSetListener点击事件.
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener()
{
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay)
{
}
}
Run Code Online (Sandbox Code Playgroud)
selectedDay在上面的代码中,我需要字符串中的日期(如星期一(或)星期二...)
我需要得到只有一周整数的一天字符串(例如:1 =星期一,5 =星期五......),我没有任何日期.
我知道我可以定义一个字符串数组,但我认为使用日期格式有更好的解决方案.没有约会可能吗?
我目前正在为 Android 设备开发一个简单的时间管理器应用程序。我的问题:我从服务器获取时间值(看起来像这样 -> 6:51)。现在我想将小时和分钟分开,并且我希望该值不断更新。
我已经研究了joda-time,但如果 joda-time 有解决方案的话,我自己找不到任何可以解决我的问题的东西。
我应该尝试提取数字并从中构建我的时间格式还是有更好更简单的解决方案?如果您建议我提取数字,我该如何解决 9 小时以上的问题。
感谢您的帮助和抱歉英语不好。