从给定的日期和时间创建30分钟的广告位

我有以下格式的时间

2015-10-28T18:37:04.899 + 05:30

我必须以以下格式创建广告位

11:00 AM-12:00 PM 15年10月28日

12:00 PM-1.00PM 15年10月28日

1.00PM-2.00PM 15年10月28日

String timeValue = "2015-10-28T18:37:04.899+05:30";
        StringTokenizer  stringTokenizer = new StringTokenizer(timeValue,"T");
        String dateValue = stringTokenizer.nextElement().toString();
        String endDateValue = "2015-10-30";
        String restString= stringTokenizer.nextElement().toString();
        StringTokenizer secondTokeniser = new StringTokenizer(restString,":");
        String hours = secondTokeniser.nextElement().toString();
        String minutes = secondTokeniser.nextElement().toString();
        hours = String.valueOf(Integer.parseInt(hours) + 2);
        if (Integer.parseInt(minutes) > 30){
            minutes = "00";
        }else{
            minutes = "30";
        }

        String amOrPm = null;
        if(Integer.parseInt(hours) < 12){
            amOrPm = "AM";
        }else{
            amOrPm = "PM";
            hours = String.valueOf(getHoursValue(Integer.parseInt(hours)));
        }
        String time1 = hours + ":" + minutes + " " + amOrPm;
        String time2 = "12" + ":" + "00" + " AM ";
        String format = "yyyy-mm-dd hh:mm a";


        SimpleDateFormat sdf = new SimpleDateFormat(format);

        try {
            Date dateObj1 = sdf.parse(dateValue + " " + time1);
            Date dateObj2 = sdf.parse(endDateValue + " " + time2);
            Logger.d(TAG, "Date Start: " + dateObj1);
            Logger.d(TAG, "Date End: " + dateObj2);
            long dif = dateObj1.getTime();
            while (dif < dateObj2.getTime()) {
                Date slot = new Date(dif);
                Log.d(TAG, "Hour slot = " + slot);
                dif += 1800000;
            }
        }catch (ParseException ex){
            ex.printStackTrace();
        }

通过上面的代码,我得到下面的输出

2015年1月28日星期三20:00:00

2015年1月28日星期三20:30:00

2015年1月28日星期三21:00:00

2015年1月28日星期三21:30:00

2015年1月28日星期三22:00:00

2015年1月28日星期三22:30:00

24小时制

我想要以下输出格式

11:00 AM-12:00 PM 15年10月28日

12:00 PM-1.00PM 15年10月28日

1.00PM-2.00PM 15年10月28日

有人可以帮我吗

银行

您可以使用以下内容,请注意,您应该使用月份MM代替mm我加一个简单的,getHoursValue因为我不认识你。

希望这可以帮助!

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        displayTimeSlots();
    }

    private int getHoursValue(int hours){
        return hours - 12;
    }

    private void displayTimeSlots(){
        String timeValue = "2015-10-28T18:37:04.899+05:30";
        StringTokenizer stringTokenizer = new StringTokenizer(timeValue,"T");
        String dateValue = stringTokenizer.nextElement().toString();
        String endDateValue = "2015-10-30";
        String restString= stringTokenizer.nextElement().toString();
        StringTokenizer secondTokeniser = new StringTokenizer(restString,":");
        String hours = secondTokeniser.nextElement().toString();
        String minutes = secondTokeniser.nextElement().toString();
        hours = String.valueOf(Integer.parseInt(hours) + 2);
        if (Integer.parseInt(minutes) > 30){
            minutes = "00";
        }else{
            minutes = "30";
        }

        String amOrPm;
        if(Integer.parseInt(hours) < 12){
            amOrPm = "AM";
        }else{
            amOrPm = "PM";
            hours = String.valueOf(getHoursValue(Integer.parseInt(hours)));
        }
        String time1 = hours + ":" + minutes + " " + amOrPm;
        String time2 = "12" + ":" + "00" + " AM ";
        String format = "yyyy-MM-dd hh:mm a";

        SimpleDateFormat sdf = new SimpleDateFormat(format);

        try {
            Date dateObj1 = sdf.parse(dateValue + " " + time1);
            Date dateObj2 = sdf.parse(endDateValue + " " + time2);
            Log.d("TAG", "Date Start: " + dateObj1);
            Log.d("TAG", "Date End: " + dateObj2);
            long dif = dateObj1.getTime();
            while (dif < dateObj2.getTime()) {
                Date slot1 = new Date(dif);
                dif += 3600000;
                Date slot2 = new Date(dif);
                dif += 3600000;
                SimpleDateFormat sdf1 = new SimpleDateFormat("hh:mm a");
                SimpleDateFormat sdf2 = new SimpleDateFormat("hh:mm a, dd/MM/yy");
                Log.d("TAG", "Hour slot = " + sdf1.format(slot1) + " - " + sdf2.format(slot2));
            }
        }catch (ParseException ex){
            ex.printStackTrace();
        }
    }
}

这是logcat:

11-07 14:54:02.506 24299-24299/? D/TAG: Date Start: Wed Oct 28 20:00:00 GMT+07:00 2015
11-07 14:54:02.506 24299-24299/? D/TAG: Date End: Fri Oct 30 00:00:00 GMT+07:00 2015
11-07 14:54:02.506 24299-24299/? D/TAG: Hour slot = 08:00 PM - 09:00 PM, 28/10/15
11-07 14:54:02.506 24299-24299/? D/TAG: Hour slot = 10:00 PM - 11:00 PM, 28/10/15
11-07 14:54:02.506 24299-24299/? D/TAG: Hour slot = 12:00 AM - 01:00 AM, 29/10/15
11-07 14:54:02.506 24299-24299/? D/TAG: Hour slot = 02:00 AM - 03:00 AM, 29/10/15
11-07 14:54:02.506 24299-24299/? D/TAG: Hour slot = 04:00 AM - 05:00 AM, 29/10/15
11-07 14:54:02.506 24299-24299/? D/TAG: Hour slot = 06:00 AM - 07:00 AM, 29/10/15
11-07 14:54:02.506 24299-24299/? D/TAG: Hour slot = 08:00 AM - 09:00 AM, 29/10/15
11-07 14:54:02.527 24299-24299/? D/TAG: Hour slot = 10:00 AM - 11:00 AM, 29/10/15
11-07 14:54:02.537 24299-24299/? D/TAG: Hour slot = 12:00 PM - 01:00 PM, 29/10/15
11-07 14:54:02.537 24299-24299/com.example.timeslots D/TAG: Hour slot = 02:00 PM - 03:00 PM, 29/10/15
11-07 14:54:02.556 24299-24299/com.example.timeslots D/TAG: Hour slot = 04:00 PM - 05:00 PM, 29/10/15
11-07 14:54:02.566 24299-24299/com.example.timeslots D/TAG: Hour slot = 06:00 PM - 07:00 PM, 29/10/15
11-07 14:54:02.566 24299-24299/com.example.timeslots D/TAG: Hour slot = 08:00 PM - 09:00 PM, 29/10/15
11-07 14:54:02.566 24299-24299/com.example.timeslots D/TAG: Hour slot = 10:00 PM - 11:00 PM, 29/10/15

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找在Linux中给定文件之前和之后30分钟创建的文件

来自分类Dev

查找在Linux中给定文件之前和之后30分钟创建的文件

来自分类Dev

日期和时差显示30分钟为5

来自分类Dev

日期和时差显示30分钟为5

来自分类Dev

每15分钟创建日期和时间不起作用

来自分类Dev

离子日期时间从最小值增加30分钟,从最大值减少30分钟

来自分类Dev

查找介于两个给定日期和时间之间的日期和时间,该日期和时间增加5分钟

来自分类Dev

将时间分成30分钟

来自分类Dev

转换日期时间,并使用javascript在其中添加30分钟

来自分类Dev

在给定时间戳之前和之后获得60分钟-Shell / ksh

来自分类Dev

Microsoft SQL SERVER:根据第一行不同的行将行分组30分钟(行可以具有不同的日期和时间)

来自分类Dev

日期时间早于某个时间(例如15分钟)

来自分类Dev

PHP-增加30分钟时间的问题

来自分类Dev

显示当前时间前30分钟

来自分类Dev

如何增加5小时30分钟的时间?

来自分类Dev

PHP-增加30分钟时间的问题

来自分类Dev

VSCODE中的Python处理时间超过30分钟

来自分类Dev

Dateformat会增加30分钟的时间

来自分类Dev

PHP检查日期和时间是否已超过15分钟

来自分类Dev

从当前日期和时间中减去5分钟javascript

来自分类Dev

如何计算以每个日期的持续时间和15分钟的间隔记录的用户

来自分类Dev

将日期和15分钟的时间块编号转换为完整的datetime

来自分类Dev

每小时:00分钟和:30分钟重新加载页面

来自分类Dev

如何在5分钟到30分钟之间汇总数据,同时保持日期间隔和其他值

来自分类Dev

在mysql中的开始时间和结束时间之间获取30分钟的间隔数据

来自分类Dev

如何在javascript中将30分钟添加到指定时间(最小和最大时间)

来自分类Dev

爪哇 - 创建的时间(15分钟)的时间间隔的当前时间和未来的设定时间之间的阵列

来自分类Dev

将日期时间修改为过去15分钟

来自分类Dev

MYSQL将日期时间舍入为15分钟

Related 相关文章

  1. 1

    查找在Linux中给定文件之前和之后30分钟创建的文件

  2. 2

    查找在Linux中给定文件之前和之后30分钟创建的文件

  3. 3

    日期和时差显示30分钟为5

  4. 4

    日期和时差显示30分钟为5

  5. 5

    每15分钟创建日期和时间不起作用

  6. 6

    离子日期时间从最小值增加30分钟,从最大值减少30分钟

  7. 7

    查找介于两个给定日期和时间之间的日期和时间,该日期和时间增加5分钟

  8. 8

    将时间分成30分钟

  9. 9

    转换日期时间,并使用javascript在其中添加30分钟

  10. 10

    在给定时间戳之前和之后获得60分钟-Shell / ksh

  11. 11

    Microsoft SQL SERVER:根据第一行不同的行将行分组30分钟(行可以具有不同的日期和时间)

  12. 12

    日期时间早于某个时间(例如15分钟)

  13. 13

    PHP-增加30分钟时间的问题

  14. 14

    显示当前时间前30分钟

  15. 15

    如何增加5小时30分钟的时间?

  16. 16

    PHP-增加30分钟时间的问题

  17. 17

    VSCODE中的Python处理时间超过30分钟

  18. 18

    Dateformat会增加30分钟的时间

  19. 19

    PHP检查日期和时间是否已超过15分钟

  20. 20

    从当前日期和时间中减去5分钟javascript

  21. 21

    如何计算以每个日期的持续时间和15分钟的间隔记录的用户

  22. 22

    将日期和15分钟的时间块编号转换为完整的datetime

  23. 23

    每小时:00分钟和:30分钟重新加载页面

  24. 24

    如何在5分钟到30分钟之间汇总数据,同时保持日期间隔和其他值

  25. 25

    在mysql中的开始时间和结束时间之间获取30分钟的间隔数据

  26. 26

    如何在javascript中将30分钟添加到指定时间(最小和最大时间)

  27. 27

    爪哇 - 创建的时间(15分钟)的时间间隔的当前时间和未来的设定时间之间的阵列

  28. 28

    将日期时间修改为过去15分钟

  29. 29

    MYSQL将日期时间舍入为15分钟

热门标签

归档