It will be the first manned US launch to the orbiting research laboratory since the space shuttle program was retired in 2011, forcing US astronauts to hitch costly rides aboard Russian Soyuz spacecraft.
A flight on Boeing spacecraft is set to follow in August 2019.
The timetable for both launches has already been postponed several times, but NASA said Thursday it would now be providing monthly updates on deadlines.
"This new process for reporting our schedule is better; nevertheless, launch dates will still have some uncertainty, and we anticipate they may change as we get closer to launch," said Phil McAlister, director of Commercial Spaceflight Development at NASA Headquarters.
"These are new spacecraft, and the engineering teams have a lot of work to do before the systems will be ready to fly."
Both missions are considered tests: the two astronauts transported in each flight will spend two weeks aboard the orbiting ISS before returning to Earth.
In the long term, NASA will use SpaceX and Boeing to take astronauts to the ISS for regular missions, which last about six months.
SpaceX will carry out an uncrewed test in January 2019, and Boeing in March 2019.
SpaceX will use its Falcon 9 rocket for its launch with a Crew Dragon capsule attached on top.
Boeing's Starliner ship will be propelled into space by an Atlas V rocket made by the United Launch Alliance, a joint venture with Lockheed Martin.
NASA is depending on the success of both missions as its contract with the Russian space agency expires in November 2019.