簡體   English   中英

在Java中將月份和年份轉換為日期

[英]Converting months and years to date in java

如果在程序中有人給了我幾天(ab =“ days”),如果有人給了我幾個月(ab =“幾個月”),那么我需要將其轉換(以“ val”為單位的值)成天,如果有人給我幾年(ab =“ years”),那么我需要將其轉換為(以“ val”的值)成天。 即,如果用戶在變量“ ab”中指定值的類型(即是月,年還是日期)和變量“ val”中的(天/月/年的天數),則需要獲取變量“天”。

例如ab =“ years”且val = 3,則天數是1095(近似值)。

我嘗試了如下。 解決上述問題是否正確? 提前致謝。

public class conversionofdate {
        public static void main(String args[]) {
            String ab = "days";
            int val = 0, days, month = 0, years = 0;
            switch (ab) {
                case "days":
                    days = val;
                    break;
                case "months":
                    days = val * 30;
                    break;

                case "years":
                    days = val * 12 * 30;
                    break;
                default:
                    System.out.println("Incorrect value");
            }
        }
    }

因此,您想跟蹤Java中的時間。 您應該先閱讀以下內容:

https://docs.oracle.com/javase/tutorial/datetime/iso/index.html

您應該意識到,這不是一個簡單的問題。 日期和時間的細微差別會導致錯誤提示,如下所示:

為什么將這兩次相減(在1927年)會得出奇怪的結果?

和這里

Java字符串到日期的轉換

另外,請注意,並非我們星球上的每個人都使用公歷,我們大多數英語國家的人都使用公歷。 除了具有不同天數和leap年的月份外,還存在一些有趣的奧秘問題,例如leap秒。 自1970年1月1日以來,還有一些以毫秒為單位的時間測量系統,沒有給出校正的數字。 嘗試弄清錯誤所在的位置,這是很光榮的事情,當這些不同的系統被轉換成文檔中的字符串,並被讀取到使用不同系統的計算機中時,錯誤就在那里。

簡而言之,您的問題的答案超出了堆棧溢出答案中可以做到的合理范圍。 只需說,只需遠離java.util.Date並使用java.util.Calendar 約會會讓你傷心

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM