Sign in

A passionate  iOS developer. Write to record my learning and share the knowledge.

The 3 most commonly used skills of working with dates you must learn

Photo by Markus Spiske on Unsplash

Do you feel hard to get your head around Date(), DateFormatter(), DateComponents(), and other date-related types, but you just want your code to work as expected? This article will save you the trouble!

In this article, I will be focusing on the 3 most commonly used skills of manipulating dates:

  1. Create Date object with specific dates and times
  2. Parse an ISO 8601 value or a timestamp to a Date object
  3. Display date in a certain format

First, I will introduce how to create a Date object. …

Make a Trello board-style CollectionView and pass data to the TableView embedded in the CollectionView

Working on computer
Working on computer
Photo by Christina @ on Unsplash.

Inspired by Trello, I tried to make a Trello board-style CollectionView that presents a different data set in a different CollectionView cell. The demo below shows the final result:

Enrich your chart and emphasise the important information

Photo by on Unsplash

In my recent article [Swift] Set Up a Basic Bar Chart Using iOS-Charts, I demonstrate how to set up a basic bar chart using a widely-used third-party library iOS-Charts.

Today we are going to take it to the next level. By adding some simple pieces of code, we can make the user catch the important information on your chart at once.

Since this article focuses on how to add a custom marker to the iOS Chart, I assume you already the prerequisite knowledge of building an iOS Chart and creating a custom view from xib. I will skip chart view…

iOS-Charts is a very flexible, easy-to-use third-party library, allowing you to highly customise your chart.

Photo by Lukas Blazek on Unsplash

I recently use iOS-Charts at work. It’s a very flexible, easy-to-use third-party library, allowing you to highly customise your chart.

This library is around 95% similar to its Android counterpart, making developing apps for both platforms much easier.

Here I use some high-income countries' birth rate data to demonstrate how to set up a basic bar chart using iOS-Charts.

Finally, I finished this eight-week course. As an iOS developer, naturally I chose iOS track.

Assignment 1: Pokedex


Add searching function.

Add a button to keep track of which Pokémon have been caught and save the state in UserDefaults.

Create structs with types that match the keys and types returned by the API. Parse the JSON data and display Pokemons’ image and description

Some structs are added to help parse the JSON data. I have done some practices of this skill in Music App, so it didn’t take me much time to finish the parts of displaying pokemon image and description.


Key Points

  • Basic commands and operations
  • SQL data types
  • Making SQL queries in Python programmes
  • Multiple tables
  • SQL injection attack

Assignment: Houses


Write a programme that imports data from a CSV spreadsheet. For each student in the CSV file, insert the student into the students table in the students.db database.

While the CSV file provided to you has just a name column, the database has separate columns for first, middle, and last names. You’ll thus want to first parse each name and separate it into first, middle, and last names. …

Key Points

  • Python basics
  • Demonstration of converting previous assignments from C to Python
  • Files
  • Features that C does not have

Assignment: DNA

I broke down this programme into a few small functions, dealing with the DNA database, the input DNA sequences, and the computation of DNA results respectively.


At the beginning of this programme, it checks the number of command-line arguments first. If the user does not pass 3 arguments on the command line, this programme exits.

If 3 command-line arguments are passed, this programme reads the database by calling function read_db(). The second command-line argument, supposed to be the file name of a…

Photo by Roman Bozhko on Unsplash

1. Date

Date is a specific point in time, independent of any calendar or time zone.

To create a date object initialised to the current date and time, simply write like this:

let date = Date()

If you run it on Playground, the Date object shown on live view might look a bit different from what it is printed out. That’s because the Date object shown on live view shows the current date and time of your system. When you print it out, it shows the date information in ISO 8601 format UTC time. …

Penny Ng

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store