Created
May 3, 2021 09:48
-
-
Save eienf/1dbc802ce8f5e214237657e056c8ddc8 to your computer and use it in GitHub Desktop.
print gregorian calendar year with japanease calendar year
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Foundation | |
// | |
// print gregorian calendar year with japanease calendar year | |
// siwftc -o jyear jyear.swift | |
// ./jyear startYearInGregorianCalendar // (-length 10) | |
// ./jyear startYearInGregorianCalendar -length years | |
// ./jyear startYearInGregorianCalendar stopYearInGregorianCalendar | |
// | |
let japanease = Calendar(identifier: .japanese) | |
let gregorian = Calendar(identifier: .gregorian) | |
let locale = Locale(identifier: "ja") | |
let format = DateFormatter() | |
format.calendar = japanease | |
format.dateFormat = "Gy年" | |
format.locale = locale | |
func print(year:Int) { | |
let comp = DateComponents(calendar: gregorian, era: 1, year: year, month: 1, day: 1) | |
guard let date = comp.date else { | |
return | |
} | |
let string = format.string(from: date) | |
let gYear = gregorian.component(.year, from: date) | |
print("\(gYear)年\t"+string) | |
} | |
func printYears(startYear:Int, stopYear:Int) { | |
for year in startYear...stopYear { | |
print(year:year) | |
} | |
} | |
var startYear = 2001 | |
var length = 10 | |
let argv = ProcessInfo.processInfo.arguments | |
// print("count = \(argv.count)") | |
if argv.count > 1 { | |
let value = Int(argv[1])! | |
if value < 2100 && value > 645 { | |
startYear = value | |
} | |
} | |
if argv.count > 2 { | |
if argv[2] == "-length" { | |
if argv.count > 3 { | |
if let value = Int(argv[3]) { | |
if value > 0 { | |
length = value | |
} | |
} | |
} | |
} else { | |
let value = Int(argv[2])! | |
if value < 2100 && value > 645 { | |
let stopYear = value | |
if stopYear > startYear { | |
length = stopYear - startYear | |
} | |
} | |
} | |
} | |
printYears(startYear: startYear, stopYear: startYear+length) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment